/* NovelVault v3.12 — commerce/product/account polish.
   Final cascade after v3.11. Presentation only; payment plugins own transactions. */

/* ---------- Global touch/readability corrections ---------- */
.nv-product-page button,.nv-product-page a,.nv-cart-page button,.nv-cart-page a,.nv-checkout-page button,.nv-checkout-page a,.woocommerce-account button,.woocommerce-account a{touch-action:manipulation}
.nv-product-page .woocommerce,.nv-commerce-page,.woocommerce-account .nv-commerce-body{min-width:0}
.nv-reader-note,.nv-reader-library__head,.nv-reader-library__grid,.nv-reader-unlock,.nv-reader-modal,.nv-reader-waitlist,.nv-reader-coming-soon,.nv-reader-soon-modal{display:none!important}

/* ---------- Product page: finished store hierarchy ---------- */
.single-product .woocommerce{padding-top:16px;padding-bottom:56px}
.nv-v37-product-heading{max-width:980px;margin:10px 0 22px}
.nv-v37-heading-meta{gap:9px;margin-bottom:8px;font-size:9px;letter-spacing:.075em}
.nv-v37-product-heading h1{max-width:960px!important;font-size:clamp(34px,4.2vw,56px)!important;line-height:1.01!important;letter-spacing:-1.55px!important;text-wrap:balance!important}
.nv-v37-original-title{max-width:820px;margin-top:8px!important;font-size:12px!important;line-height:1.45!important}

.single-product .nv-product-main{grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;gap:34px!important;max-width:1010px}
.single-product .nv-product-main .woocommerce-product-gallery{align-self:start;border-radius:16px;overflow:hidden;background:var(--nv-soft)}
.single-product .nv-product-main .woocommerce-product-gallery__wrapper{margin:0!important}
.single-product .nv-product-main .woocommerce-product-gallery__image{border-radius:16px!important;overflow:hidden!important}
.single-product .nv-product-main .woocommerce-product-gallery img{display:block;width:100%!important;aspect-ratio:2/3;object-fit:cover;border-radius:16px!important}
.nv-v312-product-cover-fallback{display:grid;place-items:center;align-content:center;gap:7px;width:100%;aspect-ratio:2/3;border:1px solid var(--nv-line);border-radius:16px;background:linear-gradient(145deg,var(--nv-soft),var(--nv-card));color:var(--nv-ink);text-align:center}
.nv-v312-product-cover-fallback span{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--nv-line);border-radius:20px;background:var(--nv-card);font-size:34px;font-weight:950}
.nv-v312-product-cover-fallback strong{font-size:14px;letter-spacing:.1em}.nv-v312-product-cover-fallback small{color:var(--nv-muted);font-size:10px}

.single-product .nv-product-main .summary{position:relative!important;padding:4px 0 0!important}
.single-product .nv-product-main .summary>.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 14px!important;color:var(--nv-ink)!important;font-size:30px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.5px}
.single-product .nv-product-main .summary>.price del{font-size:14px!important;font-weight:650!important;color:var(--nv-muted)!important}.single-product .nv-product-main .summary>.price ins{text-decoration:none!important}

.nv-v37-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:0 0 14px!important;border-radius:13px!important}
.nv-v37-facts-grid>div{min-height:64px!important;padding:12px 13px!important}
.nv-v37-facts-grid small{font-size:8px!important;letter-spacing:.075em!important}
.nv-v37-facts-grid strong,.nv-v37-facts-grid a{margin-top:4px!important;font-size:12px!important;line-height:1.3!important}

.nv-v37-short-synopsis{max-width:680px;margin:0 0 14px!important}
.nv-v37-short-synopsis p{font-size:12.5px!important;line-height:1.68!important}
.nv-v37-short-synopsis button{min-height:30px;margin-top:3px!important;font-size:10px!important}

.single-product .nv-product-main form.cart{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr)!important;width:min(100%,560px)!important;gap:8px!important;margin:14px 0 0!important}
.single-product .nv-product-main form.cart .quantity{display:none!important}
.single-product .nv-product-main form.cart .single_add_to_cart_button,.single-product .nv-product-main form.cart .nv-buy-now{display:flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;height:50px!important;border-radius:11px!important;padding:0 15px!important;font-size:12px!important;font-weight:900!important;line-height:1!important}
.single-product .nv-product-main form.cart .nv-buy-now{justify-content:space-between!important}

.nv-v312-purchase-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(100%,560px);margin:10px 0 0}
.nv-v312-purchase-context>div{display:grid;gap:2px;min-width:0;padding:10px 11px;border:1px solid var(--nv-line);border-radius:10px;background:var(--nv-soft)}
.nv-v312-purchase-context span{color:var(--nv-muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.nv-v312-purchase-context strong{overflow-wrap:anywhere;font-size:10px;line-height:1.35}

.nv-v37-secondary-actions{grid-template-columns:44px 44px minmax(0,1fr)!important;gap:7px!important;width:min(100%,560px)!important;margin-top:8px!important}
.nv-v37-secondary-actions button{min-height:44px!important;height:44px!important;border-radius:10px!important;font-size:9px!important}
.nv-v37-like,.nv-v37-share{padding:0!important}.nv-v37-like span,.nv-v37-share span{display:none!important}
.nv-v37-purchase-help{padding:0 10px!important;font-size:9px!important;line-height:1.25!important}
.nv-v37-trust-line{width:min(100%,560px)!important;margin-top:7px!important;gap:5px!important}
.nv-v37-trust-line span{min-height:29px!important;padding:0 9px!important;border-radius:8px!important;font-size:8px!important}

.nv-v312-mobile-brief{display:none}
.nv-v37-tags{max-width:1010px;margin-top:26px!important;padding-top:20px!important}
.nv-v37-tags a,.nv-v37-tags>div>span{min-height:38px!important;font-size:10px!important}
.nv-v37-summary-card{max-width:1010px;margin:24px 0 18px!important;padding:28px 30px!important;border-radius:16px!important;box-shadow:0 10px 34px rgba(20,22,26,.045)!important}
.nv-v37-summary-card h2{margin:6px 0 16px!important;font-size:29px!important}
.nv-v37-summary-copy p{max-width:900px!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:16px!important;line-height:1.78!important;color:var(--nv-ink)!important}
.nv-v37-summary-card>button{min-height:38px!important;margin-top:12px!important;font-size:11px!important}
.single-product .nv-related-section{max-width:100%;margin-top:32px!important;padding-top:24px!important}

/* ---------- Checkout bridge: provider-neutral account expectations ---------- */
.nv-v312-checkout-account{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;max-width:1080px;margin:0 auto 12px;padding:12px 14px;border:1px solid var(--nv-line);border-radius:13px;background:var(--nv-card)}
.nv-v312-checkout-account__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--nv-soft);font-size:14px;font-weight:950}
.nv-v312-checkout-account>div{display:grid;gap:2px}.nv-v312-checkout-account strong{font-size:12px;line-height:1.3}.nv-v312-checkout-account p{margin:0;color:var(--nv-muted);font-size:10px;line-height:1.5}.nv-v312-checkout-account p b{color:var(--nv-ink)}
.nv-v312-checkout-account>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-soft);font-size:9px;font-weight:850;white-space:nowrap}
.nv-external-payment-flow.nv-checkout-page .nv-checkout-assurance{display:none!important}
.nv-external-payment-flow.nv-checkout-page .nv-commerce-page-head{max-width:1080px;margin-inline:auto}
.nv-external-payment-flow.nv-checkout-page .nv-commerce-body{overflow:visible!important}
.nv-external-payment-flow .uigp-checkout{width:100%!important}
.nv-external-payment-flow .uigp-step,.nv-external-payment-flow .uigp-payment-card,.nv-external-payment-flow .uigp-order-summary{box-shadow:none!important}

/* Checkout pages are intentionally quieter than the browsing UI. */
body.nv-checkout-page:not(.woocommerce-order-received) .nv-subnav-wrap{display:none!important}
body.nv-checkout-page:not(.woocommerce-order-received) .site-header{box-shadow:none!important}
body.nv-checkout-page:not(.woocommerce-order-received) .nv-commerce-page{padding-top:18px!important}

/* ---------- Sign in / account ---------- */
.woocommerce-account.nv-account-auth .nv-v39-auth-hero,.woocommerce-account.nv-account-auth .nv-login-intro{display:none!important}
.nv-v312-auth-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;align-items:center;margin:0 0 14px;padding:22px;border:1px solid var(--nv-line);border-radius:16px;background:var(--nv-card)}
.nv-v312-auth-copy h2{margin:5px 0 7px!important;max-width:620px;font-size:29px!important;line-height:1.04!important;letter-spacing:-.7px!important}
.nv-v312-auth-copy p{max-width:650px;margin:0!important;color:var(--nv-muted)!important;font-size:11px!important;line-height:1.65!important}
.nv-v312-auth-benefits{display:grid;gap:7px}.nv-v312-auth-benefits span{display:grid;gap:2px;min-height:54px;padding:10px 12px;border:1px solid var(--nv-line);border-radius:10px;background:var(--nv-soft)}.nv-v312-auth-benefits b{font-size:10px}.nv-v312-auth-benefits small{color:var(--nv-muted);font-size:8.5px;line-height:1.4}
.woocommerce-account.nv-account-auth #customer_login>.u-column1,.woocommerce-account.nv-account-auth #customer_login>.u-column2{border-radius:16px!important;padding:26px!important}
.woocommerce-account.nv-account-auth #customer_login h2{font-size:26px!important}
.woocommerce-account.nv-account-auth form .form-row label{font-size:10px!important}
.woocommerce-account.nv-account-auth form input.input-text{min-height:50px!important;font-size:16px!important}
.woocommerce-account.nv-account-auth button.button{min-height:48px!important;font-size:11px!important}
.woocommerce-account .woocommerce-MyAccount-content{border-radius:14px!important}

/* ---------- Homepage/archive mobile card readability ---------- */
@media(max-width:820px){
  .nv-wrap{width:min(calc(100% - 22px),var(--nv-wrap))}
  .nv-book h3{min-height:3.72em!important;max-height:3.72em!important;font-size:11.2px!important;line-height:1.24!important;letter-spacing:-.08px!important}
  .nv-book-eyebrow>span{font-size:7.4px!important}.nv-card-price-inline{max-width:calc(100% - 80px)!important;font-size:10.8px!important}.nv-card-actions{gap:4px!important}.nv-card-cart,.nv-card-buy{height:36px!important;min-height:36px!important;border-radius:8px!important}.nv-card-cart{width:36px!important;min-width:36px!important}.nv-card-cart svg{width:14px!important;height:14px!important}.nv-card-buy{min-width:42px!important;padding:0 8px!important;font-size:9px!important}

  /* Product: preserve compact cover/decision area, move readable story copy full-width. */
  .single-product .woocommerce{padding:9px 0 136px!important}
  .single-product .nv-wrap{padding-inline:0!important}
  .nv-v37-product-heading{margin:3px 0 13px!important}.nv-v37-heading-meta{margin-bottom:5px!important;font-size:7.5px!important}.nv-v37-product-heading h1{font-size:clamp(25px,7vw,31px)!important;line-height:1.04!important;letter-spacing:-.75px!important}.nv-v37-original-title{font-size:10px!important}
  .single-product .nv-product-main{grid-template-columns:118px minmax(0,1fr)!important;gap:10px 12px!important;max-width:100%!important;align-items:start!important}
  .single-product .nv-product-main .woocommerce-product-gallery{grid-column:1;grid-row:1 / span 2;align-self:start!important}
  .single-product .nv-product-main .woocommerce-product-gallery,.single-product .nv-product-main .woocommerce-product-gallery__image,.single-product .nv-product-main .woocommerce-product-gallery img,.nv-v312-product-cover-fallback{border-radius:11px!important}
  .single-product .nv-product-main .summary{display:contents!important}
  .single-product .nv-product-main .summary>.price{grid-column:2;grid-row:1;align-self:end;margin:0!important;font-size:23px!important}
  .nv-v37-facts-grid{grid-column:2;grid-row:2;align-self:start;gap:1px!important;margin:0!important;border-radius:9px!important}.nv-v37-facts-grid>div{min-height:48px!important;padding:7px 8px!important}.nv-v37-facts-grid small{font-size:7.2px!important}.nv-v37-facts-grid strong,.nv-v37-facts-grid a{font-size:10px!important;line-height:1.22!important}
  .nv-v37-short-synopsis{display:none!important}
  .single-product .nv-product-main form.cart{grid-column:1/-1;grid-row:3;grid-template-columns:1fr 1.12fr!important;width:100%!important;gap:6px!important;margin:2px 0 0!important}.single-product .nv-product-main form.cart .single_add_to_cart_button,.single-product .nv-product-main form.cart .nv-buy-now{min-height:46px!important;height:46px!important;padding:0 11px!important;border-radius:10px!important;font-size:10.5px!important}
  .nv-v312-purchase-context{grid-column:1/-1;grid-row:4;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;width:100%!important;margin-top:0!important}.nv-v312-purchase-context>div{align-content:start;gap:2px;padding:8px!important;border-radius:8px!important}.nv-v312-purchase-context span{font-size:6.8px!important}.nv-v312-purchase-context strong{font-size:8.8px!important;line-height:1.28!important}
  .nv-v37-secondary-actions{grid-column:1/-1;grid-row:5;grid-template-columns:44px 44px minmax(0,1fr)!important;width:100%!important;margin-top:0!important}.nv-v37-secondary-actions button{min-height:44px!important;height:44px!important}.nv-v37-purchase-help{font-size:8.8px!important}.nv-v37-trust-line{display:none!important}
  .nv-v312-mobile-brief{display:block;margin:14px 0 0;padding:15px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-card)}.nv-v312-mobile-brief p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:6px 0 8px;color:var(--nv-ink);font-size:13px;line-height:1.62}.nv-v312-mobile-brief a{font-size:10px;font-weight:850;text-decoration:underline;text-underline-offset:3px}
  .nv-v37-tags{margin-top:14px!important;padding-top:13px!important}.nv-v37-tags>div{gap:5px!important}.nv-v37-tags a,.nv-v37-tags>div>span{min-height:34px!important;padding:0 10px!important;font-size:9px!important}
  .nv-v37-summary-card{margin:16px 0 12px!important;padding:18px 16px!important;border-radius:12px!important}.nv-v37-summary-card h2{margin:4px 0 12px!important;font-size:23px!important}.nv-v37-summary-copy{max-height:260px!important}.nv-v37-summary-copy p{font-size:14px!important;line-height:1.72!important}.nv-v37-summary-card>button{min-height:40px!important;font-size:11px!important}

  /* True touch-sized purchase bar; stays above the mobile nav. */
  .nv-mobile-buybar.nv-v312-mobile-buybar{display:flex!important;left:7px!important;right:7px!important;bottom:calc(63px + env(safe-area-inset-bottom))!important;height:62px!important;padding:7px 7px 7px 12px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:15px!important;background:#202328!important;color:#fff!important;box-shadow:0 14px 34px rgba(0,0,0,.22)!important;backdrop-filter:none!important}
  .nv-v312-mobile-buybar .nv-mobile-buybar__price small{font-size:7px!important}.nv-v312-mobile-buybar .nv-mobile-buybar__price strong{font-size:14px!important}.nv-v312-mobile-buybar .nv-mobile-cart-cta,.nv-v312-mobile-buybar .nv-mobile-buybar__button{min-height:46px!important;height:46px!important;border-radius:10px!important}.nv-v312-mobile-buybar .nv-mobile-cart-cta{width:46px!important}.nv-v312-mobile-buybar .nv-mobile-buybar__button{min-width:102px!important;padding:0 16px!important;font-size:11px!important}

  /* Checkout/account: readable without horizontal rails. */
  .nv-v312-checkout-account{grid-template-columns:38px minmax(0,1fr);gap:9px;margin:0 0 10px;padding:12px;border-radius:12px}.nv-v312-checkout-account>a{grid-column:1/-1;min-height:44px;width:100%;font-size:10px}.nv-v312-checkout-account strong{font-size:12px}.nv-v312-checkout-account p{font-size:10.5px;line-height:1.55}
  body.nv-checkout-page:not(.woocommerce-order-received) .nv-head{grid-template-columns:auto 1fr auto!important;height:58px!important}body.nv-checkout-page:not(.woocommerce-order-received) .nv-search,body.nv-checkout-page:not(.woocommerce-order-received) .nv-mobile-search-btn,body.nv-checkout-page:not(.woocommerce-order-received) .nv-theme-toggle,body.nv-checkout-page:not(.woocommerce-order-received) .nv-cart{display:none!important}
  .nv-external-payment-flow .uigp-checkout{gap:9px!important}.nv-external-payment-flow .uigp-payment-card,.nv-external-payment-flow .uigp-order-summary,.nv-external-payment-flow .uigp-step{border-radius:12px!important}

  .nv-v312-auth-hero{grid-template-columns:1fr!important;gap:12px;margin-bottom:10px;padding:16px;border-radius:13px}.nv-v312-auth-copy h2{font-size:23px!important}.nv-v312-auth-copy p{font-size:11px!important}.nv-v312-auth-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.nv-v312-auth-benefits span{min-height:54px;padding:8px}.nv-v312-auth-benefits b{font-size:9px}.nv-v312-auth-benefits small{font-size:7.5px}.woocommerce-account.nv-account-auth #customer_login>.u-column1,.woocommerce-account.nv-account-auth #customer_login>.u-column2{padding:17px!important}.woocommerce-account.nv-account-auth form .form-row label{font-size:10px!important}.woocommerce-account.nv-account-auth form input.input-text{font-size:16px!important}
}

@media(max-width:430px){
  .single-product .nv-product-main{grid-template-columns:108px minmax(0,1fr)!important;gap:9px 10px!important}.nv-v37-product-heading h1{font-size:26px!important}.single-product .nv-product-main .summary>.price{font-size:21px!important}.nv-v37-facts-grid>div{min-height:45px!important;padding:6px 7px!important}.nv-v37-facts-grid strong,.nv-v37-facts-grid a{font-size:9.5px!important}.nv-v312-purchase-context strong{font-size:8.4px!important}
  .nv-v312-auth-benefits{grid-template-columns:1fr!important}.nv-v312-auth-benefits span{min-height:42px!important}.nv-v312-auth-copy h2{font-size:21px!important}
}

@media(max-width:340px){
  .nv-recent-grid,.nv-products,.nv-related-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .single-product .nv-product-main{grid-template-columns:98px minmax(0,1fr)!important;gap:8px!important}.single-product .nv-product-main form.cart{grid-template-columns:1fr!important}.single-product .nv-product-main form.cart .nv-buy-now{justify-content:center!important}.nv-v312-purchase-context{grid-template-columns:1fr!important}.nv-v312-purchase-context>div{grid-template-columns:54px minmax(0,1fr);align-items:center}
}

/* Dark mode */
html[data-nv-theme=dark] .nv-v312-product-cover-fallback,html[data-nv-theme=dark] .nv-v312-purchase-context>div,html[data-nv-theme=dark] .nv-v312-checkout-account,html[data-nv-theme=dark] .nv-v312-auth-hero,html[data-nv-theme=dark] .nv-v312-mobile-brief{background:var(--nv-card);border-color:var(--nv-line)}
