/* NovelVault v3.14 — UIGOD storefront refresh, checkout hardening, mobile polish */

/* ---------- Reusable micro-interactions ---------- */
.nv-card-cart,.nv-card-buy,.nv-buy-now,.single_add_to_cart_button,.nv-mobile-buybar__button,.nv-mobile-cart-cta,.nv-v314-checkout-note__dismiss{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease;
}
.nv-card-cart:hover,.nv-card-buy:hover,.nv-buy-now:hover,.single_add_to_cart_button:hover,.nv-mobile-buybar__button:hover,.nv-mobile-cart-cta:hover{transform:translateY(-1px)}

/* ---------- Homepage / archive card button polish ---------- */
.nv-card-bottom{gap:10px!important}
.nv-card-price-inline{font-size:12px!important;font-weight:850!important;line-height:1.1!important}
.nv-card-actions{display:flex!important;align-items:center!important;gap:8px!important}
.nv-card-cart,.nv-card-buy{
  min-height:40px!important;height:40px!important;border-radius:11px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.01em!important
}
.nv-card-cart{
  width:42px!important;min-width:42px!important;padding:0!important;border:1px solid var(--nv-line)!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;box-shadow:0 1px 0 rgba(17,21,29,.03)!important
}
.nv-card-cart svg{width:16px!important;height:16px!important;stroke-width:1.8!important}
.nv-card-buy{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:1 1 auto!important;min-width:74px!important;padding:0 14px!important;border:1px solid var(--nv-accent)!important;border-radius:11px!important;background:var(--nv-accent)!important;color:#fff!important;box-shadow:0 8px 18px rgba(17,21,29,.08)!important
}
.nv-card-buy:visited{color:#fff!important}

/* ---------- Product page cleanup ---------- */
.single-product .woocommerce{padding-top:16px!important}
.single-product .nv-product-main{grid-template-columns:minmax(260px,31%) minmax(0,1fr)!important;gap:28px!important;align-items:start!important}
.single-product .nv-product-main .summary{display:grid!important;align-content:start!important;gap:0!important}
.single-product .nv-product-main .summary>.price{margin:2px 0 14px!important;font-size:26px!important;font-weight:900!important}
.nv-v37-facts-grid{margin:0 0 14px!important;border-radius:14px!important;border:1px solid var(--nv-line)!important;background:var(--nv-card)!important}
.nv-v37-facts-grid>div{min-height:74px!important;padding:14px 16px!important}
.nv-v37-facts-grid strong,.nv-v37-facts-grid a{font-size:12px!important}

/* Keep purchase controls reliable: stack them in a clean order. */
.single-product .nv-product-main form.cart{
  display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:min(100%,560px)!important;max-width:560px!important;margin:16px 0 0!important
}
.single-product .nv-product-main form.cart .quantity{display:none!important}
.single-product .nv-product-main form.cart .nv-buy-now,
.single-product .nv-product-main form.cart .single_add_to_cart_button{
  width:100%!important;min-width:0!important;min-height:52px!important;height:52px!important;margin:0!important;padding:0 16px!important;border-radius:12px!important;font-size:13px!important;font-weight:900!important;line-height:1!important;float:none!important;clear:none!important;box-sizing:border-box!important
}
.single-product .nv-product-main form.cart .nv-buy-now{order:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:var(--nv-accent)!important;border:1px solid var(--nv-accent)!important;color:#fff!important;box-shadow:0 10px 22px rgba(17,21,29,.1)!important}
.single-product .nv-product-main form.cart .nv-buy-now b{display:none!important}
.single-product .nv-product-main form.cart .single_add_to_cart_button{order:2!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;border:1px solid var(--nv-line)!important;box-shadow:none!important;opacity:1!important}

.nv-v312-purchase-context{
  width:min(100%,560px)!important;margin:12px 0 0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important
}
.nv-v312-purchase-context>div{padding:12px 12px!important;border-radius:12px!important;background:var(--nv-soft)!important}
.nv-v312-purchase-context span{font-size:8px!important}
.nv-v312-purchase-context strong{font-size:11px!important;line-height:1.4!important}

.nv-v37-secondary-actions{width:min(100%,560px)!important;grid-template-columns:46px 46px minmax(0,1fr)!important;gap:8px!important;margin-top:10px!important}
.nv-v37-secondary-actions button{min-height:40px!important;height:40px!important;border-radius:10px!important}
.nv-v37-purchase-help{font-size:9px!important}
.nv-v37-trust-line{width:min(100%,560px)!important;gap:6px!important;margin-top:8px!important}
.nv-v37-trust-line span{min-height:24px!important;padding:0 9px!important;font-size:7px!important;border-radius:7px!important}

/* Canonical summary card — calmer and closer to the theme language. */
.nv-v37-summary-card{
  max-width:100%!important;margin:24px 0 14px!important;padding:22px 22px 20px!important;border:1px solid var(--nv-line)!important;border-radius:16px!important;background:var(--nv-card)!important;box-shadow:none!important
}
.nv-v37-summary-card .nv-overline{margin-bottom:4px!important}
.nv-v37-summary-card h2{margin:4px 0 12px!important;font-family:inherit!important;font-size:22px!important;line-height:1.08!important;letter-spacing:-.45px!important}
.nv-v37-summary-copy{max-height:240px!important}
.nv-v37-summary-copy p{max-width:900px!important;margin:0!important;font-family:inherit!important;font-size:15px!important;font-weight:450!important;line-height:1.72!important;color:color-mix(in srgb,var(--nv-ink) 88%,var(--nv-muted))!important}
.nv-v37-summary-card>button{margin-top:12px!important;font-size:10px!important}
.nv-v312-mobile-brief{display:none!important}

/* ---------- Checkout first-payment note ---------- */
.nv-v314-checkout-note{
  position:relative;display:grid;gap:5px;margin:10px 0 12px!important;padding:14px 44px 14px 14px!important;border:1px solid rgba(34,37,42,.12)!important;border-radius:14px!important;background:linear-gradient(180deg,var(--nv-card),var(--nv-soft))!important;color:var(--nv-ink)!important
}
.nv-v314-checkout-note strong{font-size:12px!important;letter-spacing:-.2px!important}
.nv-v314-checkout-note p{margin:0!important;color:var(--nv-muted)!important;font-size:10px!important;line-height:1.55!important}
.nv-v314-checkout-note__dismiss{
  position:absolute!important;top:10px!important;right:10px!important;display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border:1px solid var(--nv-line)!important;border-radius:999px!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;font-size:14px!important;cursor:pointer!important
}

/* ---------- Checkout layout + payment methods ---------- */
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:min(calc(100% - 26px),1180px)!important}
.nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{
  max-width:1120px!important;margin:0 auto!important;gap:22px!important;grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important
}
.nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{
  padding:18px 18px 8px!important;border-radius:16px!important;background:var(--nv-card)!important;box-shadow:0 1px 0 rgba(17,21,29,.03)!important
}
.nv-v313-checkout #order_review_heading,.nv-v313-checkout .wc-block-components-order-summary{
  border-radius:16px!important
}
.nv-v313-checkout #order_review_heading{padding:18px 18px 10px!important;font-size:18px!important}
.nv-v313-checkout #order_review{margin-top:48px!important;padding:6px 18px 18px!important;top:122px!important;border-radius:0 0 16px 16px!important}
.nv-v313-checkout .wc-block-components-checkout-step__title{font-size:18px!important;line-height:1.1!important;letter-spacing:-.35px!important}
.nv-v313-checkout .wc-block-components-checkout-step__description{font-size:11px!important;line-height:1.5!important}
.nv-v313-checkout .wc-block-components-text-input input,
.nv-v313-checkout .wc-block-components-combobox .components-combobox-control__input,
.nv-v313-checkout input.input-text,
.nv-v313-checkout select,
.nv-v313-checkout textarea{min-height:50px!important;border-radius:11px!important;font-size:14px!important}
.nv-v313-checkout label{font-size:12px!important}
.nv-v313-checkout .wc-block-components-order-summary-item{padding:12px 14px!important;grid-template-columns:44px minmax(0,1fr) auto!important;column-gap:10px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__image,.nv-v313-checkout .wc-block-components-order-summary-item__image img{width:44px!important;min-width:44px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__image img{height:62px!important;border-radius:7px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:12px!important;line-height:1.35!important}
.nv-v313-checkout .wc-block-components-order-summary .wc-block-components-totals-item,.nv-v313-checkout .shop_table th,.nv-v313-checkout .shop_table td{font-size:12px!important}
.nv-v313-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.nv-v313-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:18px!important;font-weight:900!important}
.nv-v313-checkout .wc-block-components-checkout-place-order-button,.nv-v313-checkout #place_order{
  width:100%!important;min-height:54px!important;border-radius:12px!important;font-size:14px!important;font-weight:900!important
}
.nv-v313-payment-intro{display:grid!important;gap:3px!important;margin:2px 0 10px!important}
.nv-v313-payment-intro strong{font-size:14px!important}
.nv-v313-payment-intro span{font-size:11px!important;line-height:1.45!important}

/* Payment rows: fix overlap and build a stable, readable title line. */
.nv-v313-checkout .wc-block-components-radio-control-accordion-option,
.nv-v313-checkout #payment .wc_payment_method{
  margin:0 0 10px!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:var(--nv-card)!important;overflow:hidden!important;box-shadow:none!important
}
.nv-v313-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.nv-v313-checkout #payment .wc_payment_method:has(input:checked){border-color:var(--nv-ink)!important;box-shadow:0 0 0 1px var(--nv-ink) inset!important}
.nv-v313-checkout .wc-block-components-radio-control__option,
.nv-v313-checkout #payment .payment_methods>li{min-height:auto!important;padding:0!important}
.nv-v313-checkout #payment .payment_methods>li>input{margin:20px 0 0 16px!important}
.nv-v313-checkout .wc-block-components-radio-control__label,
.nv-v313-checkout #payment .payment_methods>li>label{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px 10px!important;min-height:64px!important;width:100%!important;max-width:none!important;padding:16px 16px 16px 16px!important;font-size:14px!important;font-weight:900!important;line-height:1.25!important;box-sizing:border-box!important
}
.nv-v313-checkout #payment .payment_methods>li>label{padding-left:42px!important}
.nv-v314-gateway-label{font-size:14px!important;font-weight:900!important;letter-spacing:-.15px!important}
.nv-v313-gateway-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:22px!important;margin:0!important;padding:0 8px!important;border-radius:999px!important;background:var(--nv-soft)!important;color:var(--nv-muted)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.nv-gateway-epayvista .nv-v313-gateway-badge{background:var(--nv-ink)!important;color:var(--nv-bg)!important}
.nv-v313-checkout .wc-block-components-radio-control-accordion-content,
.nv-v313-checkout #payment .payment_box{
  margin:0!important;padding:0 16px 16px!important;background:transparent!important;color:var(--nv-muted)!important;font-size:12px!important;line-height:1.55!important
}
.nv-v313-checkout .wc-block-components-radio-control-accordion-content p,
.nv-v313-checkout #payment .payment_box p{margin:0!important;font-size:inherit!important;line-height:inherit!important}

/* ---------- Mobile ---------- */
@media (max-width: 900px){
  .single-product .nv-product-main{grid-template-columns:1fr!important;gap:16px!important}
  .single-product .nv-product-main .woocommerce-product-gallery{max-width:420px!important}
  .single-product .nv-product-main .summary>.price{font-size:24px!important}
  .nv-v312-purchase-context,.nv-v37-secondary-actions,.nv-v37-trust-line{width:100%!important}
  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:calc(100% - 18px)!important}
  .nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{display:block!important;max-width:720px!important}
  .nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:14px 14px 8px!important;border-radius:14px!important}
  .nv-v313-checkout .wc-block-checkout__sidebar,.nv-v313-checkout #order_review{position:static!important;top:auto!important}
  .nv-v313-checkout #order_review_heading{margin-top:10px!important;padding:14px 14px 8px!important}
  .nv-v313-checkout #order_review{margin-top:0!important;padding:6px 14px 14px!important}
}

@media (max-width: 640px){
  .nv-card-price-inline{font-size:11px!important}
  .nv-card-actions{gap:6px!important}
  .nv-card-cart,.nv-card-buy{min-height:38px!important;height:38px!important;border-radius:10px!important}
  .nv-card-cart{width:40px!important;min-width:40px!important}
  .nv-card-buy{min-width:64px!important;padding:0 12px!important;font-size:9px!important}

  .nv-v37-facts-grid>div{min-height:68px!important;padding:12px 13px!important}
  .single-product .nv-product-main form.cart{gap:8px!important;margin-top:12px!important}
  .single-product .nv-product-main form.cart .nv-buy-now,
  .single-product .nv-product-main form.cart .single_add_to_cart_button{min-height:48px!important;height:48px!important;font-size:12px!important;border-radius:11px!important}
  .nv-v312-purchase-context{grid-template-columns:1fr!important;gap:6px!important}
  .nv-v312-purchase-context>div{padding:11px 12px!important}
  .nv-v312-purchase-context strong{font-size:10.5px!important}
  .nv-v37-secondary-actions{grid-template-columns:44px 44px minmax(0,1fr)!important}
  .nv-v37-purchase-help{font-size:8.6px!important}
  .nv-v37-summary-card{margin:18px 0 10px!important;padding:18px 16px!important;border-radius:14px!important}
  .nv-v37-summary-card h2{font-size:19px!important;margin-bottom:10px!important}
  .nv-v37-summary-copy{max-height:220px!important}
  .nv-v37-summary-copy p{font-size:14px!important;line-height:1.68!important}

  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:calc(100% - 12px)!important}
  .nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:12px 12px 8px!important}
  .nv-v313-checkout .wc-block-components-checkout-step__title{font-size:17px!important}
  .nv-v313-checkout .wc-block-components-checkout-step__description{font-size:10px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item{grid-template-columns:38px minmax(0,1fr) auto!important;padding:10px 11px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__image,.nv-v313-checkout .wc-block-components-order-summary-item__image img{width:38px!important;min-width:38px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__image img{height:54px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:11px!important}
  .nv-v313-checkout .wc-block-components-radio-control__label,.nv-v313-checkout #payment .payment_methods>li>label{min-height:60px!important;padding:14px 13px 14px 13px!important;font-size:13px!important;gap:7px 8px!important}
  .nv-v313-checkout #payment .payment_methods>li>label{padding-left:38px!important}
  .nv-v314-gateway-label{font-size:13px!important}
  .nv-v313-gateway-badge{min-height:21px!important;font-size:8px!important}
  .nv-v313-checkout .wc-block-components-radio-control-accordion-content,.nv-v313-checkout #payment .payment_box{padding:0 13px 13px!important;font-size:11px!important}
  .nv-v313-checkout .wc-block-components-checkout-place-order-button,.nv-v313-checkout #place_order{min-height:52px!important;font-size:13px!important}
  .nv-v314-checkout-note{margin:8px 0 10px!important;padding:13px 40px 13px 13px!important}
  .nv-v314-checkout-note strong{font-size:11px!important}
  .nv-v314-checkout-note p{font-size:9px!important}
}
