/* NovelVault v3.6 — final storefront polish layer. Loaded last. */

/* Dense grids should never reserve mystery slots from WooCommerce wrappers. */
.nv-products,.woocommerce ul.products{grid-auto-flow:row dense!important;align-items:start}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important;content:none!important}
.woocommerce ul.products li.product.nv-wc-loop-item{display:contents!important}
.woocommerce ul.products li.product.nv-wc-loop-item>.nv-book{min-width:0}
.nv-products>.nv-book,.nv-slider-track>.nv-book{display:flex;flex-direction:column;min-width:0;height:100%}

/* Cards: breathing room for long titles, no repeated status row, stronger purchase row. */
.nv-book-copy{display:flex!important;flex:1;flex-direction:column;min-width:0;padding-top:8px!important}
.nv-book-eyebrow{height:auto!important;min-height:14px;margin-bottom:3px;font-size:7.5px!important}
.nv-book-title{display:block;min-width:0}
.nv-book h3{margin:0 0 7px!important;min-height:46px!important;font-size:12.5px!important;line-height:1.24!important;letter-spacing:-.12px!important;-webkit-line-clamp:3!important;overflow-wrap:break-word!important;word-break:normal!important;text-wrap:pretty}
.nv-card-author{margin:-2px 0 5px!important}
.nv-card-details{height:18px!important;min-height:18px!important;margin:0 0 7px!important;gap:4px!important;overflow:hidden}
.nv-card-genre,.nv-card-type{display:inline-flex;align-items:center;max-width:100%;min-width:0;padding:3px 5px;border:1px solid color-mix(in srgb,var(--nv-line) 82%,transparent);border-radius:5px;background:color-mix(in srgb,var(--nv-card) 70%,var(--nv-soft));color:var(--nv-muted);font-size:6.4px;font-weight:750;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-card-type{background:transparent}
.nv-card-bottom{min-height:31px!important;margin-top:auto!important;gap:6px!important}
.nv-card-price-inline{font-size:11.5px!important;line-height:1.1!important}
.nv-card-actions{gap:4px!important}
.nv-card-cart,.nv-card-buy{height:29px!important;border-radius:7px!important;transition:transform .14s ease,background .14s ease,border-color .14s ease}
.nv-card-cart{width:30px!important;background:var(--nv-card)!important;border:1px solid var(--nv-line)!important}
.nv-card-buy{min-width:46px!important;padding:0 10px!important;font-size:7px!important}
.nv-card-cart:hover,.nv-card-buy:hover{transform:translateY(-1px)}
.nv-card-buy:hover{filter:brightness(.94)}
.nv-wishlist{box-shadow:0 2px 10px rgba(15,17,20,.06)}

/* Status/chapter information belongs on the visual, keeping card copy compact. */
.nv-cover-stats{position:absolute;z-index:4;left:6px;bottom:6px;display:flex;gap:3px;max-width:calc(100% - 12px);pointer-events:none}
.nv-cover-stats b{display:inline-flex;align-items:center;min-height:18px;padding:0 5px;border:1px solid rgba(255,255,255,.24);border-radius:5px;background:rgba(24,27,31,.78);color:#fff;font-size:5.6px;font-weight:900;line-height:1;backdrop-filter:blur(6px);white-space:nowrap}
.nv-cover-stats b.nv-status-completed{background:rgba(42,90,57,.86)}
.nv-cover-stats b.nv-status-ongoing{background:rgba(47,78,99,.86)}
.nv-cover-stats b.nv-status-dropped{background:rgba(113,55,55,.86)}
.nv-cover-stats b.nv-status-hiatus{background:rgba(103,83,43,.86)}

/* Home: exact v3.6 discovery flow. */
.nv-home-v36 .nv-home-first{padding-top:18px!important}
.nv-home-v36 .nv-section{padding-top:30px}
.nv-home-v36 .nv-fandom-slider-track{grid-auto-columns:clamp(238px,25vw,300px)!important}
.nv-home-v36 .nv-fandom-card{min-height:136px!important}
.nv-home-v36 .nv-fandom-card__copy>strong{font-size:18px!important;max-width:94%}
.nv-home-v36 .nv-fandom-card__copy>em{font-size:7.5px!important}

/* Recently uploaded is deliberately a normal grid, never a carousel. */
.nv-recent-grid{display:grid!important;grid-template-columns:repeat(var(--nv-grid-desktop),minmax(0,1fr))!important;gap:24px 12px!important;overflow:visible!important}
.nv-load-more-wrap{display:flex;justify-content:center;padding-top:22px}
.nv-load-more{min-width:132px;height:39px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-card);color:var(--nv-ink);font-size:9px;font-weight:900;cursor:pointer;box-shadow:0 5px 16px rgba(20,22,26,.04)}
.nv-load-more b{font-size:12px;transition:transform .15s}
.nv-load-more:hover b{transform:translateY(2px)}
.nv-load-more.is-loading{opacity:.62;cursor:wait}

/* Fandom-specific shelves remain lightweight native horizontal rails. */
.nv-fandom-novel-shelf .nv-slider-track{grid-auto-columns:calc((100% - 48px)/5)!important;gap:12px!important}
.nv-fandom-novel-shelf .nv-section-head{padding-bottom:7px;border-bottom:1px solid color-mix(in srgb,var(--nv-line) 80%,transparent)}

/* Product summary: 2-line synopsis preview with explicit expansion. */
.single-product .nv-product-main .woocommerce-product-details__short-description{display:none!important}
.nv-synopsis-preview{max-width:760px;margin:9px 0 12px}
.nv-synopsis-preview__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--nv-muted);font-size:12px;line-height:1.58}
.nv-synopsis-preview.is-open .nv-synopsis-preview__text{display:block;overflow:visible}
.nv-synopsis-preview button{margin-top:4px;padding:0;border:0;background:transparent;color:var(--nv-ink);font-size:8px;font-weight:900;cursor:pointer}
.nv-synopsis-preview button span{margin-left:2px;color:var(--nv-muted)}

/* Product details are readable like a novel database, without exposing Novel ID. */
.nv-product-details-panel{clear:both;margin:18px 0 0;padding:17px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-card)}
.nv-product-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:13px}
.nv-product-detail-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:var(--nv-soft);color:var(--nv-ink);font-size:7px;font-weight:900}
.nv-product-detail-badge.nv-status-completed{background:#edf4ef;color:#3e6a4d}.nv-product-detail-badge.nv-status-ongoing{background:#eef3f7;color:#496a80}.nv-product-detail-badge.nv-status-dropped{background:#f5eded;color:#854e4e}.nv-product-detail-badge.nv-status-hiatus{background:#f4f0e7;color:#79663f}
.nv-product-detail-groups{display:grid;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--nv-line)}
.nv-detail-group{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:8px}
.nv-detail-group>b{padding-top:5px;color:var(--nv-muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.nv-detail-group>div{display:flex;flex-wrap:wrap;gap:4px}
.nv-product-details-panel .nv-tax-chip{min-height:25px;padding:0 8px;border:1px solid var(--nv-line);border-radius:6px;background:color-mix(in srgb,var(--nv-card) 72%,var(--nv-soft));font-size:7px;font-weight:780}
.nv-product-facts-v36{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1px!important;margin:13px 0 0!important;border:1px solid var(--nv-line);border-radius:9px;overflow:hidden;background:var(--nv-line)}
.nv-product-facts-v36 .nv-fact{min-height:55px!important;padding:10px!important;background:var(--nv-card)!important}
.nv-product-facts-v36 .nv-fact b{display:block;margin-bottom:2px;color:var(--nv-muted);font-size:6px!important;text-transform:uppercase;letter-spacing:.06em}

/* Tiny stable trust strip: useful, not promotional clutter. */
.nv-trust-mini{display:flex;align-items:center;gap:6px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.nv-trust-mini::-webkit-scrollbar{display:none}
.nv-trust-mini>span{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 8px;border:1px solid var(--nv-line);border-radius:7px;background:color-mix(in srgb,var(--nv-card) 85%,var(--nv-soft));color:var(--nv-muted)}
.nv-trust-mini svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nv-trust-mini b{font-size:6.5px;color:var(--nv-ink);white-space:nowrap}
.single-product .nv-trust-grid{display:none!important}

/* Product purchase controls: equal-height and visually clear. */
.single-product .nv-product-main form.cart{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;gap:7px!important;width:min(100%,520px)!important;margin-top:13px!important}
.single-product .nv-product-main form.cart .single_add_to_cart_button,.single-product .nv-product-main form.cart .nv-buy-now{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;border-radius:8px!important;font-size:10px!important;font-weight:900!important;box-shadow:none!important}
.single-product .nv-product-main form.cart .single_add_to_cart_button{border:1px solid var(--nv-line)!important;background:var(--nv-card)!important;color:var(--nv-ink)!important}
.single-product .nv-product-main form.cart .nv-buy-now{border:1px solid var(--nv-accent)!important;background:var(--nv-accent)!important;color:#fff!important;padding:0 13px!important}

/* Temporary reader-coming-soon experience. */
.nv-reader-unlock--soon{align-items:center!important}
.nv-reader-unlock--soon button{flex:0 0 auto;height:33px;border:1px solid var(--nv-line);border-radius:7px;background:var(--nv-card);color:var(--nv-ink);padding:0 10px;font-size:7px;font-weight:900;cursor:pointer}
.nv-reader-coming-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:22px;align-items:center;padding:22px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-card)}
.nv-reader-coming-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--nv-soft);font-size:12px;font-weight:950}
.nv-reader-coming-card h3{margin:8px 0 3px;font-size:18px}.nv-reader-coming-card p{max-width:580px;margin:0;color:var(--nv-muted);font-size:10px;line-height:1.6}
.nv-reader-coming-card form{display:grid;grid-template-columns:1fr auto;gap:6px}.nv-reader-coming-card label{grid-column:1/-1;display:grid;gap:4px}.nv-reader-coming-card label span{font-size:7px;font-weight:850;color:var(--nv-muted)}
.nv-reader-coming-card input,.nv-reader-soon-modal input{height:38px;min-width:0;border:1px solid var(--nv-line);border-radius:8px;background:var(--nv-card);color:var(--nv-ink);padding:0 10px;outline:none;font-size:10px}
.nv-reader-coming-card button,.nv-reader-soon-modal form button{height:38px;border:0;border-radius:8px;background:var(--nv-accent);color:#fff;padding:0 13px;font-size:8px;font-weight:900;cursor:pointer}
.nv-reader-coming-card form small{grid-column:1/-1;min-height:14px;color:var(--nv-muted);font-size:7px}.nv-reader-coming-card form small.is-success{color:#3e6a4d}
.nv-reader-download-link{display:inline-flex;margin-top:10px;font-size:8px;font-weight:850}
.nv-reader-soon-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .14s}.nv-reader-soon-modal[hidden]{display:none!important}.nv-reader-soon-modal.is-open{opacity:1;pointer-events:auto}
.nv-reader-soon-backdrop{position:absolute;inset:0;border:0;background:rgba(16,18,21,.48);backdrop-filter:blur(5px)}
.nv-reader-soon-modal>section{position:relative;width:min(100%,430px);padding:22px;border:1px solid var(--nv-line);border-radius:14px;background:var(--nv-card);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.nv-reader-soon-modal h2{margin:7px 0 6px;font-size:22px;line-height:1.05}.nv-reader-soon-modal p{margin:0 0 13px;color:var(--nv-muted);font-size:10px;line-height:1.6}.nv-reader-soon-modal form{display:grid;grid-template-columns:1fr auto;gap:6px}.nv-reader-soon-modal form small{grid-column:1/-1;min-height:14px;font-size:7px;color:var(--nv-muted)}
.nv-reader-soon-close{position:absolute;right:10px;top:10px;width:29px;height:29px;border:1px solid var(--nv-line);border-radius:8px;background:var(--nv-card);color:var(--nv-ink);font-size:17px;cursor:pointer}

/* Dark mode keeps every new v3.6 surface coherent. */
html[data-nv-theme=dark] .nv-product-details-panel,html[data-nv-theme=dark] .nv-reader-coming-card,html[data-nv-theme=dark] .nv-reader-soon-modal>section,html[data-nv-theme=dark] .nv-load-more{background:var(--nv-card);border-color:var(--nv-line)}
html[data-nv-theme=dark] .nv-product-detail-badge:not(.nv-status),html[data-nv-theme=dark] .nv-card-genre,html[data-nv-theme=dark] .nv-card-type{background:#292c30;color:#d7d9dc}
html[data-nv-theme=dark] .nv-product-details-panel .nv-tax-chip,html[data-nv-theme=dark] .nv-trust-mini>span{background:#24272b;border-color:#35383d}
html[data-nv-theme=dark] .nv-reader-coming-card input,html[data-nv-theme=dark] .nv-reader-soon-modal input{background:#24272b;color:#f1f2f3;border-color:#35383d}

@media(max-width:820px){
  .nv-home-v36 .nv-section{padding-top:24px}
  .nv-home-v36 .nv-fandom-slider-track{grid-auto-columns:min(78vw,292px)!important;margin-inline:-10px;padding-inline:10px!important;scroll-padding-inline:10px}
  .nv-home-v36 .nv-fandom-card{min-height:128px!important}
  .nv-recent-grid{grid-template-columns:repeat(var(--nv-grid-mobile),minmax(0,1fr))!important;gap:18px 6px!important}
  .nv-fandom-novel-shelf .nv-slider-track{grid-auto-columns:calc((100% - 12px)/3)!important;gap:6px!important;margin-inline:-10px;padding-inline:10px!important;scroll-padding-inline:10px}
  .nv-book-copy{padding-top:5px!important}
  .nv-book h3{font-size:10px!important;line-height:1.22!important;min-height:25px!important;margin-bottom:4px!important;-webkit-line-clamp:2!important}
  .nv-book-eyebrow{font-size:6.2px!important;margin-bottom:1px}
  .nv-rating{font-size:5.8px!important}
  .nv-card-author{display:none!important}
  .nv-card-details{height:13px!important;min-height:13px!important;margin-bottom:4px!important}
  .nv-card-type{display:none!important}.nv-card-genre{font-size:5.2px!important;padding:2px 4px!important;border-radius:4px!important}
  .nv-card-bottom{min-height:25px!important;gap:3px!important}
  .nv-card-price-inline{font-size:9.5px!important}
  .nv-card-cart,.nv-card-buy{height:24px!important;border-radius:5px!important}.nv-card-cart{width:24px!important}.nv-card-buy{min-width:34px!important;padding:0 5px!important;font-size:5.8px!important}
  .nv-cover-stats{left:4px;bottom:4px;gap:2px;max-width:calc(100% - 8px)}.nv-cover-stats b{min-height:14px;padding:0 4px;border-radius:4px;font-size:4.5px}.nv-cover-stats b:nth-child(2){display:none}
  .nv-load-more-wrap{padding-top:15px}.nv-load-more{height:36px;min-width:120px;font-size:8px}
  .single-product .nv-product-main form.cart{display:none!important}
  .nv-synopsis-preview__text{font-size:8.5px;line-height:1.5}.nv-synopsis-preview button{font-size:7px}
  .nv-product-details-panel{margin-top:12px;padding:12px;border-radius:10px}
  .nv-product-badge-row{margin-bottom:9px}.nv-product-detail-badge{min-height:21px;padding:0 7px;font-size:6px}
  .nv-detail-group{grid-template-columns:56px minmax(0,1fr);gap:5px}.nv-detail-group>b{font-size:5.8px}.nv-product-details-panel .nv-tax-chip{min-height:21px;padding:0 6px;font-size:5.8px}
  .nv-product-facts-v36{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nv-product-facts-v36 .nv-fact{min-height:46px!important;padding:8px!important;font-size:7px!important}
  .nv-trust-mini{gap:4px}.nv-trust-mini>span{min-height:24px;padding:0 6px}.nv-trust-mini svg{width:9px;height:9px}.nv-trust-mini b{font-size:5.5px}
  .nv-reader-coming-card{grid-template-columns:1fr;gap:15px;padding:16px}.nv-reader-coming-card form{grid-template-columns:1fr}.nv-reader-coming-card button{width:100%}.nv-reader-coming-card form small{grid-column:1}
  .nv-reader-soon-modal>section{padding:18px}.nv-reader-soon-modal h2{font-size:19px}.nv-reader-soon-modal form{grid-template-columns:1fr}.nv-reader-soon-modal form small{grid-column:1}.nv-reader-soon-modal form button{width:100%}
}

@media(max-width:380px){
  .nv-recent-grid{gap:16px 5px!important}
  .nv-book h3{font-size:9.2px!important}
  .nv-card-genre{display:none!important}
  .nv-card-details{height:8px!important;min-height:8px!important}
  .nv-cover-stats b{font-size:4.2px;padding:0 3px}
}

/* Checkout assurance should read as a quiet utility row, not promotional cards. */
.nv-checkout-assurance{gap:4px!important;margin:0 0 10px!important}
.nv-checkout-assurance>span{min-height:25px!important;padding:0 7px!important;border-radius:6px!important;box-shadow:none!important}
.nv-checkout-assurance b{font-size:6.5px!important;font-weight:850!important;color:var(--nv-muted)!important}

/* Product status/chapter badges live beside the promotional badges near title. */
.nv-single-kicker{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:4px!important}
.nv-single-detail-badge{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:5px;background:var(--nv-soft);color:var(--nv-muted);font-size:6px;font-weight:900;line-height:1}
.nv-single-detail-badge.nv-status-completed{background:#edf4ef;color:#3e6a4d}.nv-single-detail-badge.nv-status-ongoing{background:#eef3f7;color:#496a80}.nv-single-detail-badge.nv-status-dropped{background:#f5eded;color:#854e4e}.nv-single-detail-badge.nv-status-hiatus{background:#f4f0e7;color:#79663f}
.nv-product-type-label{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--nv-muted);font-size:7px}.nv-product-type-label span{text-transform:uppercase;letter-spacing:.06em;font-weight:850}.nv-product-type-label b{color:var(--nv-ink);font-size:8px}
