.naspfx{--naspfx-text:#111315;--naspfx-muted:#667085;--naspfx-line:#e5e7eb;--naspfx-soft:#f8fafc;--naspfx-green:#159947;--naspfx-green-dark:#07805f;margin:16px 0 14px;max-width:100%;font-family:inherit}.naspfx *{box-sizing:border-box}.naspfx-shell{background:#fff;border:1px solid var(--naspfx-line);border-radius:2px;padding:14px;box-shadow:0 6px 16px rgba(17,19,21,.035)}.naspfx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 0 12px}.naspfx-head strong{font-size:16px;font-weight:900;line-height:1.1;color:var(--naspfx-text)}.naspfx-head span{font-size:11px;color:var(--naspfx-muted);line-height:1.2}.naspfx-format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.naspfx-card,.naspfx-pill{appearance:none;-webkit-appearance:none;background:#fff;color:var(--naspfx-text);border:1px solid var(--naspfx-line);border-radius:2px;cursor:pointer;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,opacity .14s ease,filter .14s ease,transform .14s ease}.naspfx-card:hover,.naspfx-pill:hover{border-color:#cfd4dd;background:#fcfcfd}.naspfx-card.is-active,.naspfx-pill.is-active{border-color:#111315;box-shadow:0 0 0 1px #111315;background:#fff;opacity:1;filter:none}.naspfx.has-choice .naspfx-format:not(.is-active){opacity:1!important;filter:none;background:#fff}
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-info,.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-title,.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-meta,.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-price{opacity:.58!important}
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-icon,.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-icon svg{opacity:1!important}.naspfx.has-package-choice .naspfx-pill:not(.is-active){opacity:1!important;filter:none;background:#fff}
.naspfx.has-package-choice .naspfx-pill:not(.is-active) span,.naspfx.has-package-choice .naspfx-pill:not(.is-active) strong{opacity:.58!important}.naspfx-card{position:relative;min-height:64px;padding:12px 34px 12px 12px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px}.naspfx-pill{position:relative;min-height:58px;padding:12px 34px 12px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.naspfx-card.is-active:after,.naspfx-pill.is-active:after{content:'✓';position:absolute;right:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:999px;background:var(--naspfx-green);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;line-height:1}.naspfx-icon{width:34px;height:34px;border-radius:2px;background:#f6f8fb;border:1px solid #eceff3;display:flex;align-items:center;justify-content:center;color:#111315;flex:0 0 auto}.naspfx-icon svg{width:22px;height:22px;display:block}.naspfx-info{display:block;min-width:0;padding-right:4px}.naspfx-title{display:block;font-size:14px;font-weight:900;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip}.naspfx-meta{display:block;margin-top:4px;font-size:10.8px;font-weight:900;line-height:1.2;color:var(--naspfx-green-dark);white-space:normal;overflow:visible;text-overflow:clip}.naspfx-price{display:block;font-size:14px;font-weight:950;line-height:1.05;color:#111315;white-space:nowrap;text-align:right}.naspfx-card.is-active .naspfx-price,.naspfx-pill.is-active strong{color:var(--naspfx-green)}.naspfx-choose{font-size:12px;color:#343943}.naspfx-packages{margin-top:14px;padding-top:12px;border-top:1px solid #f0f1f4}.naspfx-section-label{font-size:13px;font-weight:900;line-height:1.1;margin:0 0 10px;color:var(--naspfx-text)}.naspfx-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.naspfx-pill span{display:block;font-size:12.7px;font-weight:900;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip}.naspfx-pill strong{display:block;font-size:13px;font-weight:950;line-height:1.1;white-space:nowrap;text-align:right}.naspfx-footer{margin-top:14px;padding-top:12px;border-top:1px solid #f0f1f4;display:block}.naspfx-summary{min-width:0;font-size:12px;color:#48505c;line-height:1.25;background:#f8fafc;border:1px solid #edf0f4;border-radius:2px;padding:13px 14px}.naspfx-summary-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.naspfx-summary-row>div{min-width:0}.naspfx-summary .naspfx-selected{display:inline-block;margin-bottom:5px;font-size:10px;font-weight:950;letter-spacing:.02em;text-transform:uppercase;color:var(--naspfx-green)}.naspfx-summary strong{display:block;font-size:15.5px;font-weight:950;color:#111315;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.12}.naspfx-summary span:not(.naspfx-selected){display:block;margin-top:4px;color:var(--naspfx-muted);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.naspfx-summary-price{font-size:20px;font-weight:950;color:var(--naspfx-green);white-space:nowrap;line-height:1}.naspfx-empty{color:var(--naspfx-muted)!important;font-size:12px}.naspfx-error{display:none;margin-top:8px;font-size:11.5px;line-height:1.25;color:#b42318}.naspfx-error.is-visible{display:block}.naspfx-form-active .quantity{display:none!important}.naspfx-form-active .woocommerce-variation-add-to-cart{margin-top:14px!important;padding:0!important}.naspfx-form-active button.single_add_to_cart_button{width:100%!important;min-height:64px!important;border-radius:0!important;-webkit-border-radius:0!important;font-size:19px!important;font-weight:950!important;letter-spacing:.01em!important;position:relative!important;overflow:visible!important}.naspfx-form-active button.single_add_to_cart_button:disabled,.naspfx-form-active button.single_add_to_cart_button.disabled{background:#b8bcc5!important;color:#fff!important;opacity:1!important;cursor:not-allowed!important}.naspfx-form-active.naspfx-ready button.single_add_to_cart_button{background:var(--naspfx-green)!important;color:#fff!important;opacity:1!important;cursor:pointer!important;animation:naspfxPulse 1.7s ease-in-out infinite!important}.naspfx-form-active.naspfx-ready button.single_add_to_cart_button:hover{filter:brightness(.95)}@keyframes naspfxPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(21,153,71,.24),0 0 0 0 rgba(21,153,71,.16)}45%{transform:scale(1.018);box-shadow:0 0 0 7px rgba(21,153,71,.11),0 0 0 14px rgba(21,153,71,.055)}100%{transform:scale(1);box-shadow:0 0 0 15px rgba(21,153,71,0),0 0 0 24px rgba(21,153,71,0)}}@media(max-width:720px){.naspfx{margin:14px 0 14px}.naspfx-shell{padding:12px;border-radius:2px}.naspfx-head{display:block;margin-bottom:10px}.naspfx-head strong{font-size:15px}.naspfx-head span{display:block;margin-top:3px;font-size:11px}.naspfx-format-grid{grid-template-columns:1fr;gap:10px}.naspfx-card{min-height:64px;padding:12px 34px 12px 10px;grid-template-columns:32px minmax(0,1fr) auto;gap:9px}.naspfx-icon{width:30px;height:30px;border-radius:2px}.naspfx-icon svg{width:20px;height:20px}.naspfx-title{font-size:13.5px}.naspfx-meta{font-size:10.3px}.naspfx-price{font-size:13.5px}.naspfx-package-grid{grid-template-columns:1fr;gap:9px}.naspfx-pill{min-height:54px;padding:11px 33px 11px 10px}.naspfx-pill span{font-size:12.6px}.naspfx-pill strong{font-size:13px}.naspfx-footer{margin-top:12px;padding-top:11px}.naspfx-summary{padding:12px}.naspfx-summary strong{font-size:15px}.naspfx-summary-price{font-size:19px}.naspfx-card.is-active:after,.naspfx-pill.is-active:after{width:18px;height:18px;font-size:10px}.naspfx-form-active button.single_add_to_cart_button{min-height:62px!important;border-radius:0!important;font-size:18px!important}}

/* Razzi/WooCommerce hard override: checkout button must be 100% square. */
form.variations_form.naspfx-form-active button.single_add_to_cart_button,
form.variations_form.naspfx-form-active button.single_add_to_cart_button.button,
form.variations_form.naspfx-form-active .single_variation_wrap .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
form.variations_form[data-product_id].naspfx-form-active button.single_add_to_cart_button,
body.single-product form.variations_form.naspfx-form-active button.single_add_to_cart_button,
body.woocommerce div.product form.cart.variations_form.naspfx-form-active button.single_add_to_cart_button{
  border-radius:0!important;
  -webkit-border-radius:0!important;
}
form.variations_form.naspfx-form-active button.single_add_to_cart_button:before,
form.variations_form.naspfx-form-active button.single_add_to_cart_button:after{
  border-radius:0!important;
  -webkit-border-radius:0!important;
}


/* === NASPF 1.7.1: leitura, contraste e responsividade === */
.naspfx .naspfx-shell{
  padding:16px!important;
}
.naspfx .naspfx-format-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.naspfx .naspfx-card{
  min-height:72px!important;
  padding:13px 38px 13px 13px!important;
  grid-template-columns:36px minmax(0,1fr) max-content!important;
  gap:12px!important;
}
.naspfx .naspfx-title,
.naspfx .naspfx-pill span{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.naspfx .naspfx-meta{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  max-width:100%!important;
}
.naspfx .naspfx-price,
.naspfx .naspfx-pill strong,
.naspfx .naspfx-summary-price,
.naspfx .woocommerce-Price-amount,
.naspfx .woocommerce-Price-currencySymbol{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-title,
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-meta,
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-price,
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-choose{
  opacity:.46!important;
  color:#6b7280!important;
}
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-icon,
.naspfx.has-choice .naspfx-format:not(.is-active) .naspfx-icon svg{
  opacity:1!important;
  color:#111315!important;
}
.naspfx.has-package-choice .naspfx-pill:not(.is-active) span,
.naspfx.has-package-choice .naspfx-pill:not(.is-active) strong,
.naspfx.has-package-choice .naspfx-pill:not(.is-active) .woocommerce-Price-amount,
.naspfx.has-package-choice .naspfx-pill:not(.is-active) .woocommerce-Price-currencySymbol{
  opacity:.46!important;
  color:#6b7280!important;
}
.naspfx .naspfx-package-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:10px!important;
}
.naspfx .naspfx-pill{
  min-height:66px!important;
  padding:13px 38px 13px 13px!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
}
.naspfx .naspfx-pill strong{
  text-align:right!important;
  min-width:max-content!important;
}
.naspfx .naspfx-footer{
  margin-top:14px!important;
}
.naspfx .naspfx-summary{
  padding:14px!important;
}
@media(min-width:900px){
  .naspfx .naspfx-shell{padding:16px!important;}
  .naspfx .naspfx-card{min-height:76px!important;}
  .naspfx .naspfx-title{font-size:15px!important;}
  .naspfx .naspfx-meta{font-size:11.2px!important;line-height:1.25!important;}
  .naspfx .naspfx-price{font-size:15px!important;}
}
@media(max-width:720px){
  .naspfx .naspfx-shell{padding:13px!important;}
  .naspfx .naspfx-card{min-height:70px!important;padding:12px 36px 12px 11px!important;grid-template-columns:32px minmax(0,1fr) max-content!important;gap:10px!important;}
  .naspfx .naspfx-title{font-size:13.5px!important;}
  .naspfx .naspfx-meta{font-size:10.2px!important;line-height:1.25!important;}
  .naspfx .naspfx-price{font-size:13.5px!important;}
  .naspfx .naspfx-package-grid{grid-template-columns:1fr!important;}
  .naspfx .naspfx-pill{min-height:62px!important;grid-template-columns:minmax(0,1fr) max-content!important;}
}


/* === NASPF 1.7.2: correção definitiva de contraste e leitura === */
.naspfx .naspfx-card.is-dimmed,
.naspfx .naspfx-pill.is-dimmed{
  opacity:1!important;
  filter:none!important;
  background:#fff!important;
}
.naspfx .naspfx-card.is-dimmed .naspfx-title,
.naspfx .naspfx-card.is-dimmed .naspfx-meta,
.naspfx .naspfx-card.is-dimmed .naspfx-price,
.naspfx .naspfx-card.is-dimmed .naspfx-choose,
.naspfx .naspfx-pill.is-dimmed span,
.naspfx .naspfx-pill.is-dimmed strong,
.naspfx .naspfx-pill.is-dimmed .woocommerce-Price-amount,
.naspfx .naspfx-pill.is-dimmed .woocommerce-Price-currencySymbol{
  opacity:.48!important;
  color:#6b7280!important;
}
.naspfx .naspfx-card.is-dimmed .naspfx-icon,
.naspfx .naspfx-card.is-dimmed .naspfx-icon svg{
  opacity:1!important;
  color:#111315!important;
}
.naspfx .naspfx-format-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
}
.naspfx .naspfx-card{
  grid-template-columns:36px minmax(0,1fr) max-content!important;
  column-gap:14px!important;
}
.naspfx .naspfx-info{
  min-width:0!important;
  max-width:100%!important;
}
.naspfx .naspfx-price,
.naspfx .naspfx-pill strong{
  display:inline-block!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
.naspfx .naspfx-package-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
}
.naspfx .naspfx-pill{
  column-gap:14px!important;
}
@media(max-width:720px){
  .naspfx .naspfx-format-grid,
  .naspfx .naspfx-package-grid{
    grid-template-columns:1fr!important;
  }
  .naspfx .naspfx-card{
    grid-template-columns:32px minmax(0,1fr) max-content!important;
  }
  .naspfx .naspfx-card .naspfx-price{
    font-size:13.5px!important;
  }
}

/* === NASPF 1.7.3: impedir quebra do preço WooCommerce === */
.naspfx .naspfx-price,
.naspfx .naspfx-price *,
.naspfx .naspfx-pill strong,
.naspfx .naspfx-pill strong *,
.naspfx .naspfx-summary-price,
.naspfx .naspfx-summary-price *,
.naspfx .woocommerce-Price-amount,
.naspfx .woocommerce-Price-amount *,
.naspfx .woocommerce-Price-amount bdi,
.naspfx .woocommerce-Price-currencySymbol{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.naspfx .woocommerce-Price-amount bdi{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
}
.naspfx .naspfx-pill{
  grid-template-columns:minmax(0,1fr) max-content!important;
}
.naspfx .naspfx-pill strong{
  min-width:78px!important;
  text-align:right!important;
  justify-self:end!important;
}
@media(max-width:720px){
  .naspfx .naspfx-pill strong{
    min-width:82px!important;
    font-size:13.5px!important;
  }
}


/* === NASPF 1.7.4: preço jamais quebra linha === */
.naspfx .naspfx-money,
.naspfx .naspfx-price,
.naspfx .naspfx-pill strong,
.naspfx .naspfx-summary-price{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  display:inline-flex!important;
  align-items:baseline!important;
  flex-wrap:nowrap!important;
  min-width:max-content!important;
  line-height:1!important;
}
.naspfx .naspfx-pill{
  grid-template-columns:minmax(0,1fr) minmax(92px,max-content)!important;
}
.naspfx .naspfx-pill strong{
  justify-self:end!important;
  text-align:right!important;
}
@media(max-width:720px){
  .naspfx .naspfx-pill{
    grid-template-columns:minmax(0,1fr) minmax(92px,max-content)!important;
  }
}


/* === NASPF 1.8.1 Premium UI: somente visual, lógica preservada === */
.naspfx{
  margin:16px 0 16px!important;
}
.naspfx .naspfx-shell{
  background:#f6f7f8!important;
  border:1px solid #dfe3e8!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:16px!important;
}
.naspfx .naspfx-head{margin-bottom:12px!important;}
.naspfx .naspfx-head strong{font-size:16px!important;font-weight:900!important;}
.naspfx .naspfx-head span{font-size:11px!important;}
.naspfx .naspfx-format-grid{gap:10px!important;}
.naspfx .naspfx-card,
.naspfx .naspfx-pill{
  background:#fff!important;
  border:1px solid #dfe3e8!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.naspfx .naspfx-card.is-active,
.naspfx .naspfx-pill.is-active{
  border-color:#111315!important;
  box-shadow:0 0 0 1px #111315!important;
  background:#fff!important;
}
.naspfx .naspfx-card{
  min-height:66px!important;
  padding:12px 38px 12px 12px!important;
}
.naspfx .naspfx-icon{
  border-radius:0!important;
  background:#f3f5f7!important;
  border:1px solid #e5e7eb!important;
}
.naspfx .naspfx-packages{
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid #e5e7eb!important;
}
.naspfx .naspfx-package-grid{gap:8px!important;}
.naspfx .naspfx-pill{
  min-height:50px!important;
  padding:9px 36px 9px 12px!important;
}
.naspfx .naspfx-pill span{font-size:13px!important;line-height:1.15!important;}
.naspfx .naspfx-pill strong{font-size:13px!important;line-height:1!important;}
.naspfx .naspfx-footer{
  margin-top:13px!important;
  padding-top:12px!important;
  border-top:1px solid #e5e7eb!important;
}
.naspfx .naspfx-summary{
  background:#fff!important;
  border:1px solid #dfe3e8!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:13px 14px!important;
}
.naspfx .naspfx-summary-price{color:#159947!important;}
/* botão nativo quadrado e protagonista */
form.variations_form.naspfx-form-active button.single_add_to_cart_button,
form.variations_form.naspfx-form-active button.single_add_to_cart_button.button,
form.variations_form[data-product_id].naspfx-form-active button.single_add_to_cart_button,
body.single-product form.variations_form.naspfx-form-active button.single_add_to_cart_button,
body.woocommerce div.product form.cart.variations_form.naspfx-form-active button.single_add_to_cart_button{
  border-radius:0!important;
  -webkit-border-radius:0!important;
  min-height:66px!important;
  font-size:19px!important;
  font-weight:950!important;
}
form.variations_form.naspfx-form-active.naspfx-ready button.single_add_to_cart_button{
  animation:naspfxPulse 1.7s ease-in-out infinite!important;
}
@media(max-width:720px){
  .naspfx .naspfx-shell{padding:13px!important;border-radius:0!important;}
  .naspfx .naspfx-card{min-height:64px!important;padding:11px 36px 11px 10px!important;}
  .naspfx .naspfx-pill{min-height:48px!important;padding:9px 34px 9px 10px!important;}
  .naspfx .naspfx-summary{padding:12px!important;}
  form.variations_form.naspfx-form-active button.single_add_to_cart_button{min-height:64px!important;border-radius:0!important;}
}
