/* NovelVault v3.16 — larger checkout, polished payment selector, product-page finish */

/* ---------- Product discovery cards ---------- */
.nv-book .nv-card-bottom{gap:12px!important}
.nv-book .nv-card-actions{gap:8px!important}
.nv-book .nv-card-cart,.nv-book .nv-card-buy{height:42px!important;min-height:42px!important;border-radius:12px!important}
.nv-book .nv-card-cart{width:42px!important;min-width:42px!important}
.nv-book .nv-card-buy{min-width:76px!important;padding:0 16px!important;font-size:10.5px!important;letter-spacing:.01em!important}
.nv-book .nv-card-price-inline{font-size:12.5px!important}

/* ---------- Single novel page ---------- */
.single-product .nv-wrap{max-width:1240px!important}
.single-product .nv-v37-product-heading{max-width:1060px!important;margin-bottom:24px!important}
.single-product .nv-v37-product-heading h1{max-width:980px!important;font-size:clamp(36px,4vw,52px)!important;line-height:1.02!important;letter-spacing:-1.25px!important}
.single-product .nv-product-main{grid-template-columns:minmax(290px,340px) minmax(0,1fr)!important;gap:36px!important}
.single-product .nv-product-main .woocommerce-product-gallery{width:100%!important;max-width:340px!important;margin:0!important}
.single-product .nv-product-main .summary{padding-top:3px!important}
.single-product .nv-product-main .summary>.price{font-size:28px!important;margin-bottom:16px!important}
.single-product .nv-v37-facts-grid{border-radius:15px!important;margin-bottom:16px!important}
.single-product .nv-v37-facts-grid>div{min-height:78px!important;padding:15px 17px!important}
.single-product .nv-v37-facts-grid small{font-size:8.5px!important}
.single-product .nv-v37-facts-grid strong,.single-product .nv-v37-facts-grid a{font-size:12.5px!important}

/* Purchase actions form one deliberate control group on desktop. */
.single-product .nv-product-main form.cart{display:grid!important;grid-template-columns:1.18fr 1fr!important;gap:10px!important;width:min(100%,620px)!important;max-width:620px!important;margin-top:18px!important}
.single-product .nv-product-main form.cart .nv-buy-now,.single-product .nv-product-main form.cart .single_add_to_cart_button{height:54px!important;min-height:54px!important;border-radius:13px!important;font-size:13px!important}
.single-product .nv-product-main form.cart .nv-buy-now{order:1!important;box-shadow:0 10px 24px rgba(18,22,29,.11)!important}
.single-product .nv-product-main form.cart .single_add_to_cart_button{order:2!important}
.single-product .nv-v312-purchase-context{width:min(100%,620px)!important;gap:8px!important;margin-top:12px!important}
.single-product .nv-v312-purchase-context>div{padding:12px 13px!important;border-radius:12px!important}
.single-product .nv-v312-purchase-context span{font-size:8px!important}
.single-product .nv-v312-purchase-context strong{font-size:10.5px!important;line-height:1.4!important}
.single-product .nv-v37-secondary-actions{width:min(100%,620px)!important;grid-template-columns:46px 46px minmax(0,1fr)!important;gap:8px!important;margin-top:10px!important}
.single-product .nv-v37-secondary-actions button{height:41px!important;min-height:41px!important;border-radius:10px!important}
.single-product .nv-v37-purchase-help{font-size:9px!important}
.single-product .nv-v37-trust-line{width:min(100%,620px)!important;margin-top:8px!important;gap:7px!important}
.single-product .nv-v37-trust-line span{min-height:26px!important;padding:0 10px!important;font-size:7.2px!important}
.single-product .nv-v37-summary-card{margin:26px 0 16px!important;padding:23px 24px!important;border-radius:16px!important}
.single-product .nv-v37-summary-card h2{font-size:21px!important;margin-bottom:12px!important}
.single-product .nv-v37-summary-copy p{font-size:14.5px!important;line-height:1.74!important}
.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}

/* ---------- Checkout desktop scale ---------- */
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:min(calc(100% - 40px),1320px)!important;max-width:1320px!important}
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page-head{max-width:1260px!important;margin-left:auto!important;margin-right:auto!important;padding:20px 24px!important}
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page-head h1{font-size:32px!important}
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-checkout-assurance,
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-v312-checkout-account,
body.nv-v313-checkout:not(.woocommerce-order-received) .nv-v314-checkout-note{max-width:1260px!important;margin-left:auto!important;margin-right:auto!important}

.nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{width:100%!important;max-width:1240px!important;margin:0 auto!important;gap:28px!important;grid-template-columns:minmax(620px,1.55fr) minmax(360px,.9fr)!important}
.nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:24px!important;border-radius:18px!important}
.nv-v313-checkout .wc-block-components-checkout-step{padding:19px 0!important}
.nv-v313-checkout .wc-block-components-checkout-step__title{font-size:21px!important;letter-spacing:-.4px!important}
.nv-v313-checkout .wc-block-components-checkout-step__description{font-size:12.5px!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:52px!important;border-radius:12px!important;font-size:15px!important}
.nv-v313-checkout .wc-block-checkout__sidebar{top:96px!important}
.nv-v313-checkout .wc-block-components-order-summary{border-radius:18px!important}
.nv-v313-checkout .wc-block-components-order-summary__button-text{font-size:19px!important;font-weight:850!important}
.nv-v313-checkout .wc-block-components-order-summary-item{padding:14px 16px!important;grid-template-columns:50px minmax(0,1fr) auto!important;column-gap:12px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__image,.nv-v313-checkout .wc-block-components-order-summary-item__image img{width:50px!important;min-width:50px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__image img{height:70px!important;border-radius:8px!important}
.nv-v313-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:13px!important;line-height:1.4!important}
.nv-v313-checkout .wc-block-components-totals-wrapper{padding:14px 16px!important}
.nv-v313-checkout .wc-block-components-totals-item__label,.nv-v313-checkout .wc-block-components-totals-item__value{font-size:13px!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:20px!important}
.nv-v313-checkout .wc-block-components-checkout-place-order-button,.nv-v313-checkout #place_order{min-height:56px!important;border-radius:13px!important;font-size:14px!important}
.nv-v315-payment-intro,.nv-v313-payment-intro{margin:2px 0 12px!important;gap:4px!important}
.nv-v315-payment-intro strong,.nv-v313-payment-intro strong{font-size:15px!important}
.nv-v315-payment-intro span,.nv-v313-payment-intro span{font-size:11.5px!important;line-height:1.5!important}

/* ---------- Payment selector: no overlapping dots/badges ---------- */
.nv-v313-checkout .wc-block-components-radio-control-accordion-option,
.nv-v313-checkout #payment .wc_payment_method{position:relative!important;margin:0 0 12px!important;border:1px solid var(--nv-line)!important;border-radius:16px!important;background:var(--nv-card)!important;overflow:hidden!important;box-shadow:none!important}
.nv-v313-checkout .wc-block-components-radio-control-accordion-option:hover,
.nv-v313-checkout #payment .wc_payment_method:hover{border-color:color-mix(in srgb,var(--nv-ink) 35%,var(--nv-line))!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,0 8px 24px rgba(16,20,28,.045)!important}

/* Replace Woo's cramped radio appearance with a stable custom dot. */
.nv-v313-checkout .wc-block-components-radio-control-accordion-option input[type="radio"],
.nv-v313-checkout #payment .wc_payment_method>input[type="radio"]{-webkit-appearance:none!important;appearance:none!important;position:absolute!important;left:18px!important;top:22px!important;width:20px!important;height:20px!important;margin:0!important;border:2px solid #aeb3ba!important;border-radius:50%!important;background:#fff!important;box-shadow:none!important;outline:none!important;cursor:pointer!important;z-index:3!important}
.nv-v313-checkout .wc-block-components-radio-control-accordion-option input[type="radio"]:checked,
.nv-v313-checkout #payment .wc_payment_method>input[type="radio"]:checked{border-color:var(--nv-ink)!important;background:radial-gradient(circle,var(--nv-ink) 0 5px,#fff 6px 100%)!important}
.nv-v313-checkout .wc-block-components-radio-control-accordion-option input[type="radio"]:focus-visible,
.nv-v313-checkout #payment .wc_payment_method>input[type="radio"]:focus-visible{outline:3px solid color-mix(in srgb,var(--nv-ink) 18%,transparent)!important;outline-offset:2px!important}

.nv-v313-checkout .wc-block-components-radio-control__option{position:relative!important;min-height:88px!important;padding:0!important}
.nv-v313-checkout #payment .payment_methods>li{position:relative!important;padding:0!important}
.nv-v313-checkout .wc-block-components-radio-control__label,
.nv-v313-checkout #payment .payment_methods>li>label{display:block!important;width:100%!important;max-width:none!important;min-height:74px!important;margin:0!important;padding:18px 18px 12px 52px!important;box-sizing:border-box!important}
.nv-v313-checkout #payment .payment_methods>li>label{padding-right:18px!important}
.nv-payment-label{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:9px 12px!important;width:100%!important;min-width:0!important}
.nv-payment-label__title{grid-column:1!important;min-width:0!important;font-size:15px!important;font-weight:900!important;line-height:1.28!important;letter-spacing:-.15px!important}
.nv-payment-label__badge,.nv-v313-gateway-badge{grid-column:2!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:23px!important;margin:0!important;padding:0 9px!important;border-radius:999px!important;background:var(--nv-soft)!important;color:var(--nv-muted)!important;font-size:8px!important;font-weight:900!important;letter-spacing:.065em!important;text-transform:uppercase!important;white-space:nowrap!important}
.nv-gateway-paymegate .nv-payment-label__badge,.nv-gateway-paymegate .nv-v313-gateway-badge,.nv-payment-label--paymegate .nv-payment-label__badge{background:var(--nv-ink)!important;color:var(--nv-bg)!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-soft)!important;color:var(--nv-muted)!important}
.nv-payment-brand-icons{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:6px!important;margin:1px 0 0!important;max-width:100%!important}
.nv-payment-brand-icons img{display:block!important;width:auto!important;height:25px!important;max-width:40px!important;border-radius:4px!important}
.nv-v313-checkout .epayvista-card-icons{display:flex!important;align-items:center!important;gap:6px!important;margin:8px 0 0 52px!important}
.nv-v313-checkout .epayvista-card-icons img{height:25px!important;max-width:40px!important;border-radius:4px!important}
.nv-v313-checkout .wc-block-components-radio-control-accordion-content,
.nv-v313-checkout #payment .payment_box{margin:0!important;padding:0 18px 18px 52px!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}

/* ---------- Order received / automatic unlock ---------- */
.nv-v316-payment-state{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 16px;padding:15px 16px;border:1px solid var(--nv-line);border-radius:14px;background:var(--nv-card)}
.nv-v316-payment-state__icon,.nv-v316-payment-state__spinner{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--nv-soft);font-size:18px;font-weight:900}
.nv-v316-payment-state__spinner{border:3px solid var(--nv-line);border-top-color:var(--nv-ink);background:transparent;animation:nv-v316-spin .8s linear infinite;box-sizing:border-box}
.nv-v316-payment-state strong{display:block;font-size:14px;line-height:1.25}
.nv-v316-payment-state p{margin:3px 0 0;color:var(--nv-muted);font-size:10px;line-height:1.55}
.nv-v316-payment-state__action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:9px;background:var(--nv-ink);color:var(--nv-bg)!important;font-size:9px;font-weight:900;text-decoration:none!important}
.nv-v316-payment-state.is-confirmed .nv-v316-payment-state__spinner{animation:none;background:var(--nv-ink);border-color:var(--nv-ink)}
.nv-v316-payment-state.is-slow .nv-v316-payment-state__spinner{animation:none;border-color:var(--nv-line);border-top-color:var(--nv-line)}
@keyframes nv-v316-spin{to{transform:rotate(360deg)}}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .single-product .nv-product-main{grid-template-columns:minmax(240px,300px) minmax(0,1fr)!important;gap:24px!important}
  .single-product .nv-product-main form.cart{grid-template-columns:1fr!important;max-width:none!important;width:100%!important}
  .single-product .nv-v312-purchase-context,.single-product .nv-v37-secondary-actions,.single-product .nv-v37-trust-line{max-width:none!important;width:100%!important}
  .nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important;gap:20px!important}
}

@media(max-width:820px){
  .single-product .nv-v37-product-heading h1{font-size:30px!important;letter-spacing:-.7px!important}
  .single-product .nv-product-main{grid-template-columns:1fr!important;gap:16px!important}
  .single-product .nv-product-main .woocommerce-product-gallery{width:min(60vw,260px)!important;max-width:260px!important;margin:0 auto!important}
  .single-product .nv-product-main form.cart{grid-template-columns:1fr!important;gap:8px!important}
  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page>.nv-wrap{width:calc(100% - 18px)!important;max-width:760px!important}
  .nv-v313-checkout .wc-block-checkout,.nv-v313-checkout form.checkout{display:block!important;max-width:760px!important}
  .nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:17px!important;border-radius:15px!important}
  .nv-v313-checkout .wc-block-checkout__sidebar{position:static!important;margin-top:10px!important}
  .nv-v316-payment-state{grid-template-columns:38px minmax(0,1fr);padding:13px!important}
  .nv-v316-payment-state__action{grid-column:1/-1;width:100%!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:38px!important;min-height:38px!important;border-radius:10px!important}
  .nv-book .nv-card-cart{width:38px!important;min-width:38px!important}
  .nv-book .nv-card-buy{min-width:62px!important;padding:0 11px!important;font-size:9px!important}
  .single-product .nv-v37-product-heading h1{font-size:27px!important;line-height:1.06!important}
  .single-product .nv-product-main .woocommerce-product-gallery{width:min(66vw,245px)!important;max-width:245px!important}
  .single-product .nv-product-main form.cart .nv-buy-now,.single-product .nv-product-main form.cart .single_add_to_cart_button{height:50px!important;min-height:50px!important;font-size:12px!important}
  .single-product .nv-v312-purchase-context{grid-template-columns:1fr!important}
  .single-product .nv-v312-purchase-context>div{grid-template-columns:96px minmax(0,1fr)!important;align-items:center!important;padding:10px 11px!important}
  .single-product .nv-v37-summary-card{padding:17px 15px!important}
  .single-product .nv-v37-summary-card h2{font-size:18.5px!important}
  .single-product .nv-v37-summary-copy p{font-size:13.5px!important;line-height:1.68!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-head{padding:13px 14px!important;border-radius:12px!important}
  body.nv-v313-checkout:not(.woocommerce-order-received) .nv-commerce-page-head h1{font-size:23px!important}
  .nv-v313-checkout .wc-block-checkout__main,.nv-v313-checkout #customer_details{padding:12px!important;border-radius:13px!important}
  .nv-v313-checkout .wc-block-components-checkout-step__title{font-size:18px!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;min-height:50px!important}
  .nv-v313-checkout .wc-block-components-radio-control-accordion-option,.nv-v313-checkout #payment .wc_payment_method{border-radius:14px!important;margin-bottom:9px!important}
  .nv-v313-checkout .wc-block-components-radio-control-accordion-option input[type="radio"],.nv-v313-checkout #payment .wc_payment_method>input[type="radio"]{left:14px!important;top:18px!important;width:19px!important;height:19px!important}
  .nv-v313-checkout .wc-block-components-radio-control__label,.nv-v313-checkout #payment .payment_methods>li>label{padding:14px 13px 10px 44px!important;min-height:67px!important}
  .nv-payment-label{gap:7px 9px!important}
  .nv-payment-label__title{font-size:13px!important}
  .nv-payment-label__badge,.nv-v313-gateway-badge{min-height:21px!important;padding:0 7px!important;font-size:7px!important}
  .nv-payment-brand-icons{gap:4px!important;margin-top:0!important}
  .nv-payment-brand-icons img{height:22px!important;max-width:35px!important}
  .nv-v313-checkout .wc-block-components-radio-control-accordion-content,.nv-v313-checkout #payment .payment_box{padding:0 13px 13px 44px!important;font-size:10px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item{grid-template-columns:40px 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:40px!important;min-width:40px!important}
  .nv-v313-checkout .wc-block-components-order-summary-item__image img{height:56px!important}
  .nv-v313-checkout .wc-block-components-checkout-place-order-button,.nv-v313-checkout #place_order{min-height:52px!important;font-size:13px!important}
}
