/* NovelVault v3.8 — deterministic final polish layer */

/* ---------- Global rhythm ---------- */
.nv-commerce-page .nv-wrap,.single-product .nv-wrap{max-width:1220px}
.nv-commerce-page-head{padding:18px 22px!important;border-radius:14px!important;background:var(--nv-card)!important;border:1px solid var(--nv-line)!important}
.nv-commerce-page-head h1{font-size:clamp(29px,3.5vw,44px)!important;line-height:1.04!important;letter-spacing:-1px!important}
.nv-commerce-page-head p{max-width:680px!important;font-size:10px!important;line-height:1.55!important}

/* ---------- Contact: replace all legacy form geometry ---------- */
.nv-page-card:has(.nv-v38-contact-layout){max-width:1120px!important}
.nv-v38-contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}
.nv-v38-contact-intro,.nv-v38-contact-form-card{min-width:0;padding:24px;border:1px solid var(--nv-line);border-radius:14px;background:var(--nv-card)}
.nv-v38-contact-intro h2,.nv-v38-contact-form-card h2{margin:5px 0 8px!important;font-size:25px!important;line-height:1.08!important;letter-spacing:-.5px}
.nv-v38-contact-intro>p,.nv-v38-contact-form-card>p{margin:0 0 18px;color:var(--nv-muted);font-size:11px;line-height:1.65}
.nv-v38-contact-details{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nv-v38-contact-details>div{display:grid;gap:4px;min-width:0;padding:13px;border:1px solid var(--nv-line);border-radius:10px;background:var(--nv-soft)}
.nv-v38-contact-details small{font-size:7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--nv-muted)}
.nv-v38-contact-details a,.nv-v38-contact-details strong{font-size:10px;line-height:1.45;overflow-wrap:anywhere;text-decoration:none!important;color:var(--nv-ink)}
.nv-v38-response-note{display:grid;gap:3px;margin-top:10px;padding:13px;border-radius:10px;background:var(--nv-accent);color:#fff}
.nv-v38-response-note strong{font-size:9px}.nv-v38-response-note span{font-size:8px;line-height:1.55;color:rgba(255,255,255,.82)}
.nv-v38-contact-form-card .nv-contact-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important}
.nv-v38-contact-form-card .nv-contact-form label{display:grid!important;gap:5px!important;min-width:0!important;font-size:8px!important;font-weight:850!important;color:var(--nv-muted)!important;text-transform:none!important}
.nv-v38-contact-form-card .nv-contact-form .wide{grid-column:1/-1!important}
.nv-v38-contact-form-card .nv-contact-form input,.nv-v38-contact-form-card .nv-contact-form textarea{display:block!important;width:100%!important;max-width:none!important;margin:0!important;border:1px solid var(--nv-line)!important;border-radius:9px!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;box-shadow:none!important;box-sizing:border-box!important;font:inherit!important}
.nv-v38-contact-form-card .nv-contact-form input{height:43px!important;padding:0 11px!important}.nv-v38-contact-form-card .nv-contact-form textarea{min-height:130px!important;padding:11px!important;resize:vertical!important}
.nv-v38-contact-form-card .nv-contact-form button{grid-column:1/-1!important;width:100%!important;min-height:44px!important;margin:0!important;border:0!important;border-radius:9px!important;background:var(--nv-accent)!important;color:#fff!important;font-size:10px!important;font-weight:900!important;cursor:pointer!important}
.nv-v38-contact-alert{margin:0 0 12px;padding:10px 11px;border-radius:8px;font-size:9px;font-weight:700;line-height:1.5}.nv-v38-contact-alert.is-success{background:#edf5ef;color:#356045}.nv-v38-contact-alert.is-error{background:#f7eded;color:#854c4c}

/* ---------- Novel cards: long titles get a stable 3-line slot ---------- */
.nv-book-copy{min-width:0!important;overflow:visible!important}
.nv-book-title{display:block!important;min-width:0!important}
.nv-book h3{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;min-height:3.66em!important;max-height:3.66em!important;margin:2px 0 6px!important;font-size:12px!important;line-height:1.22!important;letter-spacing:-.1px!important;overflow-wrap:anywhere!important;text-wrap:pretty!important}
.nv-card-bottom{margin-top:auto!important}

/* ---------- Product: polished, readable and conversion-safe ---------- */
.single-product .woocommerce{padding-top:18px!important}
.nv-v37-product-heading{max-width:1050px;margin:4px 0 22px!important}
.nv-v37-product-heading h1{max-width:1000px!important;margin:6px 0 0!important;font-size:clamp(34px,4.5vw,56px)!important;line-height:1.01!important;letter-spacing:-1.6px!important;text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important}
.nv-v37-heading-meta{gap:7px!important}.nv-v37-heading-meta span,.nv-v37-heading-meta a{font-size:7px!important}
.single-product .nv-product-main{grid-template-columns:minmax(240px,34%) minmax(0,1fr)!important;gap:26px!important;align-items:start!important}
.single-product .nv-product-main .woocommerce-product-gallery{min-width:0!important}.single-product .nv-product-main .summary{min-width:0!important;position:static!important;padding:4px 0 0!important}
.single-product .nv-product-main .summary>.price{margin:0 0 12px!important;font-size:24px!important;line-height:1!important}
.nv-v37-facts-grid{margin:0 0 12px!important;border-radius:11px!important;overflow:hidden!important}
.nv-v37-facts-grid>div{min-height:66px!important;padding:12px 14px!important}.nv-v37-facts-grid small{font-size:7px!important}.nv-v37-facts-grid strong,.nv-v37-facts-grid a{font-size:11px!important}
.nv-v37-short-synopsis{margin:0 0 12px!important}.nv-v37-short-synopsis p{font-size:11px!important;line-height:1.62!important}.nv-v37-short-synopsis button{font-size:8px!important}
/* The form contains exactly Add to cart + Buy now. Neutralize Woo/legacy floats. */
.single-product .nv-product-main form.cart{display:flex!important;flex-flow:row nowrap!important;align-items:stretch!important;gap:8px!important;width:min(100%,560px)!important;max-width:560px!important;margin:14px 0 0!important;clear:both!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{float:none!important;clear:none!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 0!important;width:auto!important;min-width:0!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0 15px!important;border-radius:10px!important;font-size:10px!important;font-weight:900!important;line-height:1!important;box-sizing:border-box!important}
.single-product .nv-product-main form.cart .nv-buy-now{justify-content:space-between!important}
.nv-v37-secondary-actions{width:min(100%,560px)!important;grid-template-columns:42px 42px minmax(0,1fr)!important}.nv-v37-secondary-actions button{height:39px!important}
.nv-v37-trust-line{width:min(100%,560px)!important;margin-top:6px!important}.nv-v37-trust-line span{min-height:22px!important;padding:0 7px!important;font-size:6.4px!important;border-radius:6px!important}
/* Summary now uses the same UI typography instead of an unrelated book serif. */
.nv-v37-summary-card{padding:24px 26px!important;border-radius:13px!important;box-shadow:none!important;background:var(--nv-card)!important}
.nv-v37-summary-card h2{margin:5px 0 14px!important;font-family:inherit!important;font-size:25px!important;line-height:1.08!important;letter-spacing:-.55px!important}
.nv-v37-summary-copy{max-height:220px!important}.nv-v37-summary-copy p{max-width:930px!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) 87%,var(--nv-muted))!important;white-space:pre-line!important}
.nv-v37-summary-card>button{margin-top:13px!important;font-size:9px!important}
.nv-v37-tags{margin-top:20px!important}.nv-v37-tags a,.nv-v37-tags>div>span{min-height:33px!important;padding:0 11px!important;font-size:8.5px!important}

/* ---------- Cart: useful two-column desktop layout, compact digital rows ---------- */
.woocommerce-cart .nv-cart-assurance{margin:10px 0 14px!important}.woocommerce-cart .nv-cart-assurance span{font-size:7px!important;min-height:27px!important;padding:0 9px!important}
.woocommerce-cart .nv-commerce-body>.woocommerce{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(290px,350px)!important;gap:18px!important;align-items:start!important;width:100%!important}
.woocommerce-cart .woocommerce-cart-form{grid-column:1!important;width:100%!important;margin:0!important;padding:0!important;border:1px solid var(--nv-line)!important;border-radius:13px!important;background:var(--nv-card)!important;overflow:hidden!important}
.woocommerce-cart .cart-collaterals{grid-column:2!important;width:100%!important;margin:0!important;display:block!important}
.woocommerce-cart .cart-collaterals .cart_totals{position:sticky!important;top:105px!important;width:100%!important;margin:0!important;padding:18px!important;border:1px solid var(--nv-line)!important;border-radius:13px!important;background:var(--nv-card)!important;box-sizing:border-box!important}
.woocommerce-cart table.shop_table th{padding:13px 14px!important;font-size:7.5px!important}.woocommerce-cart table.shop_table td{padding:14px!important;font-size:10px!important;vertical-align:middle!important}
.woocommerce-cart table.cart img{width:50px!important;height:70px!important;object-fit:cover!important;border-radius:7px!important}.woocommerce-cart table.cart .product-name a{font-size:11px!important;line-height:1.4!important;font-weight:850!important}
.woocommerce-cart table.cart .product-remove a{display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border:1px solid var(--nv-line)!important;border-radius:7px!important;background:var(--nv-soft)!important;color:var(--nv-ink)!important;font-size:16px!important;text-decoration:none!important}
.woocommerce-cart table.cart td.actions{padding:12px 14px!important}.woocommerce-cart table.cart td.actions .coupon{gap:6px!important}.woocommerce-cart table.cart td.actions .coupon .input-text{height:39px!important;border-radius:8px!important}.woocommerce-cart table.cart td.actions button{min-height:39px!important;border-radius:8px!important;font-size:9px!important}
.woocommerce-cart .cart_totals h2{font-size:21px!important}.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{font-size:9px!important}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{min-height:48px!important;border-radius:9px!important;font-size:10px!important}
/* Blocks cart */
.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout{grid-template-columns:minmax(0,1fr) minmax(290px,350px)!important;gap:18px!important}.woocommerce-cart .wc-block-cart__main,.woocommerce-cart .wc-block-cart__sidebar{border-radius:13px!important;box-shadow:none!important}.woocommerce-cart .wc-block-cart__sidebar{top:105px!important}

/* ---------- Checkout: one coherent premium panel instead of scattered boxes ---------- */
.nv-checkout-shell .nv-checkout-assurance{display:none!important}
.woocommerce-checkout .nv-commerce-body>.woocommerce{width:100%!important}
.woocommerce-checkout .wc-block-checkout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,390px)!important;gap:18px!important;align-items:start!important}
.woocommerce-checkout .wc-block-checkout__main{padding:8px 22px!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:var(--nv-card)!important}
.woocommerce-checkout .wc-block-components-checkout-step{margin:0!important;padding:20px 0!important;border:0!important;border-bottom:1px solid var(--nv-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.woocommerce-checkout .wc-block-components-checkout-step:last-of-type{border-bottom:0!important}
.woocommerce-checkout .wc-block-components-checkout-step__title{font-size:19px!important;line-height:1.15!important;letter-spacing:-.35px!important}.woocommerce-checkout .wc-block-components-checkout-step__description{font-size:9px!important;line-height:1.5!important}
.woocommerce-checkout .wc-block-components-text-input input,.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input{min-height:50px!important;border-radius:9px!important;border-color:var(--nv-line)!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;font-size:12px!important}
.woocommerce-checkout .wc-block-components-address-card{border-radius:9px!important;background:var(--nv-soft)!important;color:var(--nv-ink)!important}
.woocommerce-checkout .wc-block-checkout__sidebar{position:sticky!important;top:105px!important;padding:0!important}
.woocommerce-checkout .wc-block-components-order-summary{border:1px solid var(--nv-line)!important;border-radius:14px!important;background:var(--nv-card)!important;box-shadow:none!important;overflow:hidden!important}
.woocommerce-checkout .wc-block-components-order-summary__button-text{font-size:20px!important;letter-spacing:-.3px!important}
.woocommerce-checkout .wc-block-components-order-summary-item{padding:13px 15px!important;grid-template-columns:45px minmax(0,1fr) auto!important;column-gap:10px!important}.woocommerce-checkout .wc-block-components-order-summary-item__image{display:block!important;width:45px!important;min-width:45px!important}.woocommerce-checkout .wc-block-components-order-summary-item__image img{width:45px!important;height:64px!important;object-fit:cover!important;border-radius:6px!important}.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:11px!important;line-height:1.35!important;font-weight:850!important;-webkit-line-clamp:3!important}.woocommerce-checkout .wc-block-components-order-summary-item__total-price{font-size:10px!important}
.woocommerce-checkout .wc-block-components-totals-wrapper{padding:13px 15px!important}.woocommerce-checkout .wc-block-components-totals-item{font-size:10px!important}.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:18px!important}
.woocommerce-checkout .wc-block-components-checkout-place-order-button{min-height:51px!important;border-radius:9px!important;font-size:11px!important;background:var(--nv-accent)!important;color:#fff!important}
/* Classic checkout */
.woocommerce-checkout form.checkout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,390px)!important;gap:18px!important;align-items:start!important}.woocommerce-checkout #customer_details{grid-column:1!important;padding:22px!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:var(--nv-card)!important}.woocommerce-checkout #order_review_heading{grid-column:2!important;grid-row:1!important;margin:0!important;padding:18px 18px 8px!important;border:1px solid var(--nv-line)!important;border-bottom:0!important;border-radius:14px 14px 0 0!important;background:var(--nv-card)!important}.woocommerce-checkout #order_review{grid-column:2!important;grid-row:1!important;margin-top:52px!important;padding:8px 18px 18px!important;border:1px solid var(--nv-line)!important;border-top:0!important;border-radius:0 0 14px 14px!important;background:var(--nv-card)!important;position:sticky!important;top:157px!important}

/* ---------- Sign in / registration: balanced and storefront-only ---------- */
.woocommerce-account.nv-account-auth .nv-commerce-page-head{max-width:1040px!important}
.woocommerce-account.nv-account-auth .nv-commerce-body>.woocommerce{max-width:1040px!important;margin:0 auto!important}
.woocommerce-account.nv-account-auth .nv-login-intro{display:none!important}.nv-v38-auth-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px 15px;border:1px solid var(--nv-line);border-radius:10px;background:var(--nv-soft);color:var(--nv-ink)}.nv-v38-auth-note strong{font-size:10px;white-space:nowrap}.nv-v38-auth-note span{font-size:8px;line-height:1.5;color:var(--nv-muted)}
.woocommerce-account.nv-account-auth #customer_login{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;align-items:stretch!important;width:100%!important;margin:0!important}
.woocommerce-account.nv-account-auth #customer_login .u-column1,.woocommerce-account.nv-account-auth #customer_login .u-column2{display:flex!important;flex-direction:column!important;float:none!important;width:100%!important;min-width:0!important;min-height:100%!important;margin:0!important;padding:22px!important;border:1px solid var(--nv-line)!important;border-radius:13px!important;background:var(--nv-card)!important;box-sizing:border-box!important}
.woocommerce-account.nv-account-auth #customer_login h2{font-size:22px!important;line-height:1.1!important;margin:0 0 6px!important}.woocommerce-account.nv-account-auth #customer_login h2::after{font-size:8.5px!important;line-height:1.5!important}
.woocommerce-account.nv-account-auth form.login,.woocommerce-account.nv-account-auth form.register{display:flex!important;flex-direction:column!important;flex:1!important;margin:14px 0 0!important;padding:0!important;border:0!important}.woocommerce-account.nv-account-auth form .form-row{margin:0 0 10px!important}.woocommerce-account.nv-account-auth form .form-row label{font-size:8px!important;font-weight:800!important}.woocommerce-account.nv-account-auth form input.input-text{min-height:47px!important;border:1px solid var(--nv-line)!important;border-radius:9px!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;padding:0 11px!important}.woocommerce-account.nv-account-auth button.button{min-height:43px!important;border-radius:9px!important;background:var(--nv-accent)!important;color:#fff!important;font-size:9px!important;font-weight:900!important}.woocommerce-account.nv-account-auth .woocommerce-privacy-policy-text{margin-top:auto!important;color:var(--nv-muted)!important;font-size:8px!important;line-height:1.6!important}.woocommerce-account.nv-account-auth .woocommerce-LostPassword{font-size:8px!important}

/* ---------- Dark mode ---------- */
html[data-nv-theme=dark] .nv-v38-contact-intro,html[data-nv-theme=dark] .nv-v38-contact-form-card,html[data-nv-theme=dark] .nv-v38-contact-details>div,html[data-nv-theme=dark] .woocommerce-checkout .wc-block-checkout__main,html[data-nv-theme=dark] .woocommerce-checkout .wc-block-components-order-summary,html[data-nv-theme=dark] .woocommerce-cart .woocommerce-cart-form,html[data-nv-theme=dark] .woocommerce-cart .cart_totals,html[data-nv-theme=dark] .woocommerce-account.nv-account-auth #customer_login .u-column1,html[data-nv-theme=dark] .woocommerce-account.nv-account-auth #customer_login .u-column2{background:var(--nv-card)!important;color:var(--nv-ink)!important;border-color:var(--nv-line)!important}
html[data-nv-theme=dark] .nv-v38-contact-form-card .nv-contact-form input,html[data-nv-theme=dark] .nv-v38-contact-form-card .nv-contact-form textarea,html[data-nv-theme=dark] .woocommerce-account.nv-account-auth form input.input-text{background:#24272b!important;color:#f0f1f2!important;border-color:var(--nv-line)!important}

/* ---------- Mobile ---------- */
@media(max-width:820px){
  .nv-v38-contact-layout{grid-template-columns:1fr!important;gap:10px}.nv-v38-contact-intro,.nv-v38-contact-form-card{padding:18px!important}.nv-v38-contact-details{grid-template-columns:1fr 1fr}.nv-v38-contact-form-card .nv-contact-form{grid-template-columns:1fr!important}.nv-v38-contact-form-card .nv-contact-form .wide{grid-column:1!important}
  .nv-book h3{min-height:3.6em!important;max-height:3.6em!important;-webkit-line-clamp:3!important;font-size:9.4px!important;line-height:1.2!important;margin-bottom:4px!important}
  .nv-v37-product-heading{margin:5px 0 14px!important}.nv-v37-product-heading h1{font-size:clamp(27px,8vw,35px)!important;line-height:1.02!important;letter-spacing:-.95px!important}
  .single-product .nv-product-main{grid-template-columns:minmax(112px,38%) minmax(0,1fr)!important;gap:12px!important}.single-product .nv-product-main .summary>.price{font-size:20px!important}.nv-v37-facts-grid>div{min-height:49px!important;padding:8px!important}.nv-v37-facts-grid small{font-size:5.5px!important}.nv-v37-facts-grid strong,.nv-v37-facts-grid a{font-size:7.8px!important}.nv-v37-short-synopsis p{font-size:8.4px!important}.nv-v37-secondary-actions{grid-template-columns:34px 34px minmax(0,1fr)!important}.nv-v37-secondary-actions button{height:34px!important}.nv-v37-trust-line span{font-size:5.6px!important;min-height:21px!important}
  /* Purchase controls are always available via the purpose-built sticky mobile bar. */
  .single-product .nv-product-main form.cart{display:none!important}.single-product .nv-mobile-buybar,.nv-mobile-buybar{display:flex!important}
  .nv-v37-summary-card{padding:18px 16px!important}.nv-v37-summary-card h2{font-size:22px!important}.nv-v37-summary-copy p{font-size:13px!important;line-height:1.68!important}.nv-v37-summary-copy{max-height:210px!important}
  .woocommerce-cart .nv-commerce-body>.woocommerce{display:block!important}.woocommerce-cart .cart-collaterals{margin-top:10px!important}.woocommerce-cart .cart-collaterals .cart_totals{position:static!important}.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout{display:block!important}.woocommerce-cart .wc-block-cart__sidebar{position:static!important;margin-top:10px!important}
  .woocommerce-checkout .wc-block-checkout,.woocommerce-checkout form.checkout{display:block!important}.woocommerce-checkout .wc-block-checkout__main{padding:0 14px!important}.woocommerce-checkout .wc-block-checkout__sidebar{position:static!important;margin-top:10px!important}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:auto!important;grid-row:auto!important;position:static!important;margin:10px 0 0!important}.woocommerce-checkout #order_review_heading{margin-bottom:0!important}.woocommerce-checkout #order_review{margin-top:0!important}
  .woocommerce-account.nv-account-auth #customer_login{grid-template-columns:1fr!important;gap:10px!important}.woocommerce-account.nv-account-auth #customer_login .u-column1,.woocommerce-account.nv-account-auth #customer_login .u-column2{padding:18px!important}.nv-v38-auth-note{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:430px){
  .nv-v38-contact-details{grid-template-columns:1fr!important}.nv-v38-contact-intro h2,.nv-v38-contact-form-card h2{font-size:22px!important}
  .nv-book h3{font-size:9px!important}
  .single-product .nv-product-main{grid-template-columns:116px minmax(0,1fr)!important;gap:10px!important}.nv-v37-product-heading h1{font-size:28px!important}
  .nv-v37-trust-line{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}.nv-v37-trust-line span{flex:0 0 auto!important}
  .woocommerce-cart table.shop_table_responsive tr{padding:10px 12px!important}.woocommerce-cart table.cart img{width:44px!important;height:62px!important}
  .woocommerce-checkout .wc-block-components-order-summary-item{grid-template-columns:38px minmax(0,1fr) auto!important}.woocommerce-checkout .wc-block-components-order-summary-item__image,.woocommerce-checkout .wc-block-components-order-summary-item__image img{width:38px!important;min-width:38px!important}.woocommerce-checkout .wc-block-components-order-summary-item__image img{height:54px!important}
}
