/* NovelVault v3.17 — mobile card/cart corrective layer + account state */

/* ---------- Cover metadata: one status only, useful optional stat above ---------- */
.nv-card-top-meta{
  position:absolute;z-index:4;left:6px;top:6px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;
  max-width:calc(100% - 48px);pointer-events:none
}
.nv-card-top-meta .nv-badge,.nv-card-stat-badge{
  display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid rgba(255,255,255,.18);
  border-radius:6px;background:rgba(25,28,32,.88);color:#fff;font-size:6.2px;font-weight:900;
  letter-spacing:.045em;line-height:1;white-space:nowrap;backdrop-filter:blur(5px)
}
.nv-card-stat-badge{background:rgba(19,22,27,.92)}
.nv-card-top-meta .nv-badge-adult{background:rgba(108,52,52,.94)!important}
.nv-cover-stats{z-index:4!important}
.nv-cover-stats b{font-weight:900!important}

/* ---------- Card footer: price must never be sacrificed to CTA width ---------- */
.nv-book .nv-card-price-inline{overflow:visible!important;text-overflow:clip!important;color:var(--nv-ink)!important}
.nv-book .nv-card-price-inline .woocommerce-Price-amount,
.nv-book .nv-card-price-inline .nv-price-now{display:inline-flex!important;align-items:baseline!important;max-width:100%!important;color:inherit!important;white-space:nowrap!important}

/* ---------- Mobile product discovery ---------- */
@media(max-width:820px){
  /* Covers are deliberately shorter than a full 2:3 poster on dense phone grids. */
  .nv-book .nv-cover{aspect-ratio:4/5!important;border-radius:9px!important}
  .nv-book .nv-cover img{object-fit:cover!important;object-position:center 20%!important}
  .nv-card-top-meta{left:4px!important;top:4px!important;gap:2px!important;max-width:calc(100% - 38px)!important}
  .nv-card-top-meta .nv-badge,.nv-card-stat-badge{min-height:16px!important;padding:0 4px!important;border-radius:4px!important;font-size:5px!important}
  .nv-cover-stats{left:4px!important;bottom:4px!important}
  .nv-cover-stats b{min-height:16px!important;padding:0 5px!important;font-size:5px!important;border-radius:4px!important}

  .nv-book .nv-card-bottom{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;
    gap:6px!important;min-height:0!important;margin-top:auto!important
  }
  .nv-book .nv-card-price-inline{
    display:flex!important;align-items:baseline!important;min-width:0!important;max-width:none!important;width:100%!important;
    min-height:15px!important;margin:0!important;padding:0 1px!important;overflow:visible!important;text-overflow:clip!important;
    white-space:nowrap!important;font-size:10.5px!important;font-weight:950!important;line-height:1.1!important
  }
  .nv-book .nv-card-price-inline del{display:inline!important;margin-left:3px!important;font-size:7px!important}
  .nv-book .nv-card-actions{
    display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;
    gap:6px!important;width:100%!important;min-width:0!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:36px!important;min-width:36px!important;padding:0!important}
  .nv-book .nv-card-cart svg{width:14px!important;height:14px!important}
  .nv-book .nv-card-buy{width:100%!important;min-width:0!important;padding:0 7px!important;font-size:8.5px!important}
  .nv-book h3{margin-bottom:6px!important}

  /* Single-novel cover also stops dominating small screens. */
  .single-product .nv-product-main .woocommerce-product-gallery{width:min(54vw,210px)!important;max-width:210px!important}
}

@media(max-width:380px){
  .nv-book .nv-card-actions{grid-template-columns:34px minmax(0,1fr)!important;gap:5px!important}
  .nv-book .nv-card-cart{width:34px!important;min-width:34px!important}
  .nv-book .nv-card-buy{font-size:8px!important;padding-inline:5px!important}
  .nv-book .nv-card-price-inline{font-size:10px!important}
}

/* ---------- Mobile classic cart rebuilt for digital novels ---------- */
@media(max-width:820px){
  body.woocommerce-cart .nv-commerce-page{padding-top:8px!important}
  body.woocommerce-cart .nv-commerce-page>.nv-wrap{width:calc(100% - 14px)!important;max-width:720px!important}
  body.woocommerce-cart .nv-commerce-page-head{padding:14px 15px!important;margin-bottom:9px!important;border-radius:14px!important}
  body.woocommerce-cart .nv-commerce-page-head .nv-overline{font-size:7px!important}
  body.woocommerce-cart .nv-commerce-page-head h1{font-size:27px!important;line-height:1.02!important;letter-spacing:-.7px!important}
  body.woocommerce-cart .nv-commerce-page-head p{margin-top:4px!important;font-size:9px!important;line-height:1.45!important}
  body.woocommerce-cart .nv-cart-assurance{display:flex!important;gap:6px!important;margin:8px 0 12px!important;overflow-x:auto!important;scrollbar-width:none!important}
  body.woocommerce-cart .nv-cart-assurance::-webkit-scrollbar{display:none!important}
  body.woocommerce-cart .nv-cart-assurance span{flex:0 0 auto!important;min-height:30px!important;padding:0 10px!important;font-size:7px!important;border-radius:999px!important}

  body.woocommerce-cart .nv-commerce-body>.woocommerce{display:block!important;width:100%!important}
  body.woocommerce-cart .woocommerce-cart-form{
    display:block!important;width:100%!important;margin:0!important;padding:0!important;border:1px solid var(--nv-line)!important;
    border-radius:14px!important;background:var(--nv-card)!important;overflow:hidden!important
  }
  body.woocommerce-cart table.shop_table.cart{
    display:block!important;width:100%!important;margin:0!important;border:0!important;border-collapse:separate!important;background:transparent!important
  }
  body.woocommerce-cart table.shop_table.cart thead{display:none!important}
  body.woocommerce-cart table.shop_table.cart tbody{display:block!important;width:100%!important}
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item{
    display:grid!important;grid-template-columns:62px minmax(0,1fr) 36px!important;
    grid-template-areas:"thumb name remove" "thumb price remove"!important;
    gap:4px 10px!important;width:100%!important;margin:0!important;padding:12px!important;border:0!important;
    border-bottom:1px solid var(--nv-line)!important;background:var(--nv-card)!important;box-sizing:border-box!important
  }
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item td{
    display:block!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;
    background:transparent!important;text-align:left!important;font-size:11px!important;box-sizing:border-box!important
  }
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item td::before{display:none!important}
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail{grid-area:thumb!important}
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail a{display:block!important;width:62px!important}
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{display:block!important;width:62px!important;height:82px!important;object-fit:cover!important;border-radius:8px!important}
  body.woocommerce-cart table.shop_table.cart td.product-name{grid-area:name!important;align-self:end!important;padding-top:3px!important}
  body.woocommerce-cart table.shop_table.cart td.product-name a{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;font-size:12px!important;font-weight:900!important;line-height:1.3!important;color:var(--nv-ink)!important}
  body.woocommerce-cart table.shop_table.cart td.product-price{grid-area:price!important;align-self:start!important;padding-top:2px!important;color:var(--nv-muted)!important;font-size:11px!important;font-weight:750!important}
  body.woocommerce-cart table.shop_table.cart td.product-price .woocommerce-Price-amount{color:var(--nv-ink)!important;font-weight:900!important}
  body.woocommerce-cart table.shop_table.cart td.product-remove{grid-area:remove!important;align-self:start!important;justify-self:end!important}
  body.woocommerce-cart table.shop_table.cart td.product-remove a{
    display:grid!important;place-items:center!important;width:34px!important;height:34px!important;margin:0!important;border:1px solid var(--nv-line)!important;
    border-radius:9px!important;background:var(--nv-soft)!important;color:var(--nv-ink)!important;font-size:18px!important;line-height:1!important
  }
  /* Digital novels do not need a quantity/update control on the phone cart. */
  body.woocommerce-cart table.shop_table.cart td.product-quantity,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal{display:none!important}

  /* The old broken vertical actions area becomes one normal row. */
  body.woocommerce-cart table.shop_table.cart tbody>tr:not(.woocommerce-cart-form__cart-item){display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important}
  body.woocommerce-cart table.shop_table.cart td.actions{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-height:0!important;
    margin:0!important;padding:12px!important;border:0!important;background:var(--nv-card)!important;text-align:left!important;box-sizing:border-box!important
  }
  body.woocommerce-cart table.shop_table.cart td.actions::before{display:none!important}
  body.woocommerce-cart table.shop_table.cart td.actions .coupon{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;width:100%!important;margin:0!important;float:none!important
  }
  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text{
    width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0 12px!important;border:1px solid var(--nv-line)!important;
    border-radius:10px!important;background:var(--nv-card)!important;color:var(--nv-ink)!important;font-size:16px!important;box-sizing:border-box!important
  }
  body.woocommerce-cart table.shop_table.cart td.actions .coupon button{
    width:auto!important;min-width:106px!important;min-height:44px!important;height:44px!important;margin:0!important;padding:0 13px!important;border-radius:10px!important;
    font-size:10px!important;white-space:nowrap!important
  }
  body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]{display:none!important}

  body.woocommerce-cart .cart-collaterals{display:block!important;width:100%!important;margin:12px 0 0!important}
  body.woocommerce-cart .cart-collaterals .cart_totals{
    position:static!important;width:100%!important;margin:0!important;padding:16px!important;border:1px solid var(--nv-line)!important;
    border-radius:14px!important;background:var(--nv-card)!important;box-sizing:border-box!important
  }
  body.woocommerce-cart .cart_totals h2{margin:0 0 11px!important;font-size:21px!important;line-height:1.1!important}
  body.woocommerce-cart .cart_totals table.shop_table{
    display:block!important;width:100%!important;margin:0 0 12px!important;border:0!important;border-collapse:separate!important;background:transparent!important
  }
  body.woocommerce-cart .cart_totals table.shop_table tbody{display:grid!important;gap:7px!important;width:100%!important}
  body.woocommerce-cart .cart_totals table.shop_table tr{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;min-height:48px!important;
    margin:0!important;padding:0 13px!important;border:1px solid var(--nv-line)!important;border-radius:10px!important;background:var(--nv-soft)!important;box-sizing:border-box!important
  }
  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td{
    display:block!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important;
    font-size:11px!important;line-height:1.25!important
  }
  body.woocommerce-cart .cart_totals table.shop_table th{color:var(--nv-muted)!important;font-weight:800!important}
  body.woocommerce-cart .cart_totals table.shop_table td{margin-left:auto!important;color:var(--nv-ink)!important;font-weight:900!important;text-align:right!important}
  body.woocommerce-cart .cart_totals table.shop_table td::before{display:none!important}
  body.woocommerce-cart .cart_totals table.shop_table tr.order-total{background:var(--nv-card)!important;border-color:color-mix(in srgb,var(--nv-ink) 18%,var(--nv-line))!important}
  body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
  body.woocommerce-cart .cart_totals table.shop_table tr.order-total td{font-size:13px!important;color:var(--nv-ink)!important}
  body.woocommerce-cart .wc-proceed-to-checkout{padding:0!important;margin:0!important}
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:54px!important;margin:0!important;
    padding:0 16px!important;border-radius:11px!important;font-size:12px!important;font-weight:900!important
  }
}

/* ---------- Cart Block resilience too ---------- */
@media(max-width:820px){
  body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout{display:block!important}
  body.woocommerce-cart .wc-block-cart__main,body.woocommerce-cart .wc-block-cart__sidebar{width:100%!important;margin:0!important}
  body.woocommerce-cart .wc-block-cart__sidebar{position:static!important;margin-top:12px!important}
  body.woocommerce-cart .wc-block-cart-items{border-radius:14px!important;overflow:hidden!important}
  body.woocommerce-cart .wc-block-cart-item__image img{border-radius:8px!important}
  body.woocommerce-cart .wc-block-components-product-name{font-size:12px!important;line-height:1.35!important}
  body.woocommerce-cart .wc-block-cart__submit-button{min-height:54px!important;border-radius:11px!important;font-size:12px!important}
}

/* ---------- Auto-created account confirmation ---------- */
.nv-v317-account-created{
  display:grid;gap:4px;margin:0 0 14px;padding:13px 14px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-soft);color:var(--nv-ink)
}
.nv-v317-account-created strong{font-size:13px;line-height:1.25}
.nv-v317-account-created span{color:var(--nv-muted);font-size:10px;line-height:1.5}
.nv-v317-account-created b{color:var(--nv-ink)}
