/* NovelVault v3.15 — final production polish for UIGOD Store. */

/* ---------- Store card CTAs (global, including homepage) ---------- */
.nv-book .nv-card-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-top:auto!important}
.nv-book .nv-card-actions{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important}
.nv-book .nv-card-cart,.nv-book .nv-card-buy{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;height:40px!important;min-height:40px!important;border-radius:11px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;box-sizing:border-box!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease
}
.nv-book .nv-card-cart{width:40px!important;min-width:40px!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 2px rgba(18,22,29,.04)!important}
.nv-book .nv-card-cart span{display:none!important}
.nv-book .nv-card-cart svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
.nv-book .nv-card-buy{min-width:68px!important;padding:0 14px!important;border:1px solid var(--nv-accent)!important;background:var(--nv-accent)!important;color:#fff!important;font-size:10px!important;box-shadow:0 7px 16px rgba(18,22,29,.09)!important}
.nv-book .nv-card-cart:hover,.nv-book .nv-card-buy:hover{transform:translateY(-1px)!important}
.nv-book .nv-card-price-inline{font-size:12px!important;font-weight:900!important;line-height:1.1!important}

/* ---------- Single novel page ---------- */
.single-product .nv-product-main{grid-template-columns:minmax(250px,31%) minmax(0,1fr)!important;gap:30px!important;align-items:start!important}
.single-product .nv-product-main .summary{min-width:0!important;padding-top:2px!important}
.single-product .nv-product-main .summary>.price{margin:0 0 14px!important;font-size:26px!important;font-weight:900!important;line-height:1!important}
.single-product .nv-v37-facts-grid{margin:0 0 14px!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;overflow:hidden!important;background:var(--nv-card)!important}
.single-product .nv-v37-facts-grid>div{min-height:70px!important;padding:13px 15px!important}
.single-product .nv-v37-facts-grid small{font-size:8px!important}
.single-product .nv-v37-facts-grid strong,.single-product .nv-v37-facts-grid a{font-size:11.5px!important;line-height:1.35!important}

/* One canonical summary only: no duplicate story-preview card. */
.single-product .nv-v312-mobile-brief,.single-product .nv-v37-short-synopsis,.single-product .woocommerce-product-details__short-description,.single-product .nv-synopsis-preview{display:none!important}
.single-product .nv-v37-summary-card{max-width:100%!important;margin:24px 0 14px!important;padding:21px 22px!important;border:1px solid var(--nv-line)!important;border-radius:15px!important;background:var(--nv-card)!important;box-shadow:none!important}
.single-product .nv-v37-summary-card .nv-overline{font-size:7.5px!important;letter-spacing:.07em!important}
.single-product .nv-v37-summary-card h2{margin:4px 0 11px!important;font-family:inherit!important;font-size:20px!important;line-height:1.1!important;letter-spacing:-.35px!important}
.single-product .nv-v37-summary-copy{max-height:230px!important}
.single-product .nv-v37-summary-copy p{max-width:920px!important;margin:0!important;font-family:inherit!important;font-size:14px!important;font-weight:450!important;line-height:1.72!important;color:color-mix(in srgb,var(--nv-ink) 88%,var(--nv-muted))!important}
.single-product .nv-v37-summary-card>button{min-height:34px!important;margin-top:10px!important;font-size:9.5px!important}

/* Purchase controls: Buy Now is the obvious primary action. */
.single-product .nv-product-main form.cart{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:min(100%,560px)!important;max-width:560px!important;margin:15px 0 0!important;clear:both!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{
  float:none!important;clear:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0 16px!important;border-radius:12px!important;font-size:12px!important;font-weight:900!important;line-height:1!important;box-sizing:border-box!important;transition:transform .16s ease,box-shadow .16s ease
}
.single-product .nv-product-main form.cart .nv-buy-now{order:1!important;background:var(--nv-accent)!important;border:1px solid var(--nv-accent)!important;color:#fff!important;box-shadow:0 9px 20px rgba(18,22,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;border:1px solid var(--nv-line)!important;color:var(--nv-ink)!important;box-shadow:none!important;opacity:1!important}
.single-product .nv-product-main form.cart .nv-buy-now:hover,.single-product .nv-product-main form.cart .single_add_to_cart_button:hover{transform:translateY(-1px)!important}
.single-product .nv-v312-purchase-context{width:min(100%,560px)!important;margin:10px 0 0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.single-product .nv-v312-purchase-context>div{padding:10px 11px!important;border-radius:10px!important;background:var(--nv-soft)!important}
.single-product .nv-v312-purchase-context span{font-size:7.5px!important}
.single-product .nv-v312-purchase-context strong{font-size:9.5px!important;line-height:1.35!important}
.single-product .nv-v37-secondary-actions{width:min(100%,560px)!important;grid-template-columns:42px 42px minmax(0,1fr)!important;gap:6px!important;margin-top:8px!important}
.single-product .nv-v37-secondary-actions button{height:38px!important;min-height:38px!important;border-radius:9px!important}
.single-product .nv-v37-purchase-help{font-size:8.5px!important}
.single-product .nv-v37-trust-line{width:min(100%,560px)!important;gap:5px!important;margin-top:7px!important}
.single-product .nv-v37-trust-line span{min-height:24px!important;padding:0 8px!important;border-radius:7px!important;font-size:6.8px!important}

/* ---------- Checkout shell ---------- */
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:min(calc(100% - 24px),1160px)!important}
.nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{max-width:1100px!important;margin:0 auto!important;gap:20px!important;grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important}
.nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:18px!important;border:1px solid var(--nv-line)!important;border-radius:15px!important;background:var(--nv-card)!important;box-sizing:border-box!important}
.nv-v313-checkout .wc-block-components-checkout-step{padding:15px 0!important}
.nv-v313-checkout .wc-block-components-checkout-step__title{font-size:18px!important;line-height:1.15!important;letter-spacing:-.3px!important}
.nv-v313-checkout .wc-block-components-checkout-step__description{margin-top:4px!important;font-size:11px!important;line-height:1.45!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:48px!important;border-radius:10px!important;font-size:14px!important}
.nv-v313-checkout .wc-block-checkout__sidebar{top:92px!important}
.nv-v313-checkout .wc-block-components-order-summary{border:1px solid var(--nv-line)!important;border-radius:15px!important;background:var(--nv-card)!important;overflow:hidden!important}
.nv-v313-checkout .wc-block-components-order-summary-item{padding:11px 13px!important;grid-template-columns:42px 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:42px!important;min-width:42px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__image img{height:59px!important;object-fit:cover!important;border-radius:6px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:11.5px!important;line-height:1.34!important;font-weight:800!important}
.nv-v313-checkout .wc-block-components-totals-wrapper{padding:11px 13px!important}
.nv-v313-checkout .wc-block-components-totals-item__label,.nv-v313-checkout .wc-block-components-totals-item__value{font-size:11.5px!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:17px!important;font-weight:900!important}
.nv-v313-checkout .wc-block-components-checkout-place-order-button,.nv-v313-checkout #place_order{min-height:52px!important;border-radius:11px!important;font-size:13px!important;font-weight:900!important}

/* First-payment note is deliberately compact and dismissible. */
.nv-v314-checkout-note{position:relative!important;display:grid!important;gap:4px!important;margin:8px 0 11px!important;padding:12px 42px 12px 13px!important;border:1px solid var(--nv-line)!important;border-radius:12px!important;background:var(--nv-soft)!important;color:var(--nv-ink)!important}
.nv-v314-checkout-note strong{font-size:11px!important;line-height:1.25!important}
.nv-v314-checkout-note p{margin:0!important;color:var(--nv-muted)!important;font-size:9px!important;line-height:1.52!important}
.nv-v314-checkout-note__dismiss{position:absolute!important;top:9px!important;right:9px!important;display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border:1px solid var(--nv-line)!important;border-radius:999px!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;font-size:13px!important;cursor:pointer!important}

/* Checkout payment introduction. */
.nv-v315-payment-intro,.nv-v313-payment-intro{display:grid!important;gap:3px!important;margin:1px 0 9px!important}
.nv-v315-payment-intro strong,.nv-v313-payment-intro strong{font-size:13px!important;line-height:1.25!important}
.nv-v315-payment-intro span,.nv-v313-payment-intro span{color:var(--nv-muted)!important;font-size:10px!important;line-height:1.45!important}

/* Payment methods: stable structure for Classic and Checkout Blocks. */
.nv-v313-checkout .wc-block-components-radio-control-accordion-option,.nv-v313-checkout #payment .wc_payment_method{position:relative!important;margin:0 0 8px!important;border:1px solid var(--nv-line)!important;border-radius:12px!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{min-height:58px!important;padding:12px 13px!important}
.nv-v313-checkout #payment .payment_methods>li{padding:0!important}
.nv-v313-checkout #payment .payment_methods>li>input{margin:19px 0 0 13px!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:7px!important;min-width:0!important;max-width:100%!important;font-size:12.5px!important;font-weight:900!important;line-height:1.3!important;box-sizing:border-box!important}
.nv-v313-checkout #payment .payment_methods>li>label{min-height:58px!important;width:calc(100% - 34px)!important;padding:12px 10px!important;margin-left:28px!important}
.nv-payment-label{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important;min-width:0!important;width:100%!important}
.nv-payment-label__title{min-width:0!important;font-size:12.5px!important;font-weight:900!important;line-height:1.3!important}
.nv-payment-label__badge,.nv-v313-gateway-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:20px!important;margin:0!important;padding:0 7px!important;border-radius:999px!important;background:var(--nv-soft)!important;color:var(--nv-muted)!important;font-size:7.5px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap!important}
.nv-gateway-epayvista .nv-payment-label__badge,.nv-gateway-epayvista .nv-v313-gateway-badge,.nv-payment-label--epayvista-card .nv-payment-label__badge{background:var(--nv-ink)!important;color:var(--nv-bg)!important}
.nv-payment-brand-icons{display:inline-flex!important;align-items:center!important;gap:3px!important;margin-left:auto!important;max-width:100%!important}
.nv-payment-brand-icons img{display:block!important;width:auto!important;height:16px!important;max-width:27px!important;border-radius:2px!important}
.nv-payment-method-icon{width:auto!important;max-height:20px!important;margin-left:auto!important}
.nv-v313-checkout .epayvista-card-icons{display:inline-flex!important;align-items:center!important;gap:3px!important;margin-left:auto!important}
.nv-v313-checkout .epayvista-card-icons img{height:16px!important;max-width:27px!important}
.nv-v313-checkout .wc-block-components-radio-control-accordion-content,.nv-v313-checkout #payment .payment_box{margin:0!important;padding:0 13px 12px!important;background:transparent!important;color:var(--nv-muted)!important;font-size:10px!important;line-height:1.5!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}
.nv-v313-checkout #payment{background:transparent!important}
.nv-v313-checkout #payment ul.payment_methods{padding:7px 0!important;border-bottom:0!important}

/* Classic checkout sidebar stays compact. */
.nv-v313-checkout #order_review_heading{padding:15px 15px 7px!important;border-radius:14px 14px 0 0!important;font-size:17px!important}
.nv-v313-checkout #order_review{margin-top:45px!important;padding:6px 15px 15px!important;top:120px!important;border-radius:0 0 14px 14px!important}

/* ---------- Mobile ---------- */
@media(max-width:900px){
  .single-product .nv-product-main{grid-template-columns:1fr!important;gap:14px!important}
  .single-product .nv-product-main .woocommerce-product-gallery{width:min(68vw,250px)!important;max-width:250px!important;margin:0 auto!important}
  .single-product .nv-product-main .summary{width:100%!important}
  .single-product .nv-product-main .summary>.price{font-size:23px!important}
  .single-product .nv-product-main form.cart,.single-product .nv-v312-purchase-context,.single-product .nv-v37-secondary-actions,.single-product .nv-v37-trust-line{width:100%!important;max-width:none!important}

  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:min(calc(100% - 14px),700px)!important}
  .nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{display:block!important;max-width:700px!important;margin:0 auto!important}
  .nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:13px!important;border-radius:13px!important}
  .nv-v313-checkout .wc-block-checkout__sidebar{position:static!important;margin:8px 0 0!important}
  .nv-v313-checkout #order_review_heading{margin:8px 0 0!important;padding:13px 13px 6px!important}
  .nv-v313-checkout #order_review{position:static!important;margin:0!important;padding:5px 13px 13px!important}
  .nv-v313-checkout .wc-block-components-checkout-step{padding:12px 0!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}
}

@media(max-width:520px){
  .nv-book .nv-card-bottom{gap:6px!important}
  .nv-book .nv-card-actions{gap:5px!important}
  .nv-book .nv-card-cart,.nv-book .nv-card-buy{height:36px!important;min-height:36px!important;border-radius:9px!important}
  .nv-book .nv-card-cart{width:36px!important;min-width:36px!important}
  .nv-book .nv-card-cart svg{width:14px!important;height:14px!important}
  .nv-book .nv-card-buy{min-width:58px!important;padding:0 10px!important;font-size:8.8px!important}
  .nv-book .nv-card-price-inline{font-size:10.5px!important}

  .single-product .nv-product-main .woocommerce-product-gallery{width:min(64vw,220px)!important;max-width:220px!important}
  .single-product .nv-product-main form.cart{gap:7px!important;margin-top:11px!important}
  .single-product .nv-product-main form.cart .nv-buy-now,.single-product .nv-product-main form.cart .single_add_to_cart_button{height:47px!important;min-height:47px!important;border-radius:10px!important;font-size:11.5px!important}
  .single-product .nv-v312-purchase-context{grid-template-columns:1fr!important;gap:5px!important}
  .single-product .nv-v312-purchase-context>div{grid-template-columns:88px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;padding:9px 10px!important}
  .single-product .nv-v312-purchase-context span{font-size:7px!important}
  .single-product .nv-v312-purchase-context strong{font-size:9.5px!important}
  .single-product .nv-v37-summary-card{margin:16px 0 9px!important;padding:16px 14px!important;border-radius:12px!important}
  .single-product .nv-v37-summary-card h2{font-size:18px!important;margin-bottom:9px!important}
  .single-product .nv-v37-summary-copy{max-height:215px!important}
  .single-product .nv-v37-summary-copy p{font-size:13px!important;line-height:1.66!important}

  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:calc(100% - 10px)!important}
  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page{padding-top:6px!important}
  .nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:11px!important;border-radius:12px!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{font-size:16px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item{padding:9px 10px!important;grid-template-columns:36px minmax(0,1fr) auto!important;column-gap:8px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__image,.nv-v313-checkout .wc-block-components-order-summary-item__image img{width:36px!important;min-width:36px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__image img{height:50px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:10.5px!important}
  .nv-v313-checkout .wc-block-components-totals-wrapper{padding:9px 10px!important}
  .nv-v313-checkout .wc-block-components-radio-control__option{min-height:56px!important;padding:10px 11px!important}
  .nv-v313-checkout #payment .payment_methods>li>input{margin-top:17px!important;margin-left:11px!important}
  .nv-v313-checkout #payment .payment_methods>li>label{min-height:54px!important;margin-left:26px!important;width:calc(100% - 30px)!important;padding:10px 9px!important}
  .nv-payment-label__title,.nv-v313-checkout .wc-block-components-radio-control__label,.nv-v313-checkout #payment .payment_methods>li>label{font-size:11.5px!important}
  .nv-payment-label__badge,.nv-v313-gateway-badge{min-height:18px!important;padding:0 6px!important;font-size:6.8px!important}
  .nv-payment-brand-icons{width:100%!important;margin-left:0!important;padding-left:0!important;gap:3px!important}
  .nv-payment-brand-icons img,.nv-v313-checkout .epayvista-card-icons img{height:14px!important;max-width:24px!important}
  .nv-v313-checkout .wc-block-components-radio-control-accordion-content,.nv-v313-checkout #payment .payment_box{padding:0 11px 10px!important;font-size:9px!important}
  .nv-v315-payment-intro strong,.nv-v313-payment-intro strong{font-size:12px!important}
  .nv-v315-payment-intro span,.nv-v313-payment-intro span{font-size:9px!important}
  .nv-v314-checkout-note{padding:11px 38px 11px 11px!important}
  .nv-v314-checkout-note strong{font-size:10.5px!important}
  .nv-v314-checkout-note p{font-size:8.5px!important}
  .nv-v313-checkout .wc-block-components-checkout-place-order-button,.nv-v313-checkout #place_order{min-height:50px!important;font-size:12.5px!important}
}
