/* NovelVault v3.4 final commerce cascade.
   This file intentionally loads after commerce.css so legacy v3.x rules cannot
   collapse the product summary or make Cart/Checkout look like generic pages. */

/* ---------- Single product: deterministic two-column shell ---------- */
.single-product .woocommerce div.product{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
.single-product .nv-product-main{display:grid!important;grid-template-columns:minmax(260px,390px) minmax(0,1fr)!important;gap:clamp(22px,3vw,42px)!important;width:100%!important;max-width:1180px!important;min-width:0!important;align-items:start!important;grid-column:1/-1!important}
.single-product .nv-product-main>div.images,.single-product .nv-product-main>div.summary{display:block!important;float:none!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;grid-column:auto!important}
.single-product .nv-product-main>div.summary{position:relative!important;top:auto!important;padding:4px 0 0!important;overflow:visible!important}
.single-product .nv-product-main .product_title{display:block!important;width:100%!important;max-width:820px!important;margin:0 0 10px!important;font-size:clamp(30px,3vw,44px)!important;line-height:1.04!important;letter-spacing:-1.25px!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}
.single-product .nv-product-main p.price{font-size:24px!important;margin:5px 0 12px!important}
.single-product .nv-product-main .woocommerce-product-details__short-description{max-width:760px!important;font-size:13px!important;line-height:1.65!important}
.single-product .nv-product-main form.cart{max-width:520px!important}
.single-product .nv-product-main .single_add_to_cart_button,.single-product .nv-product-main .nv-buy-now{min-height:48px!important;font-size:13px!important;border-radius:10px!important}
.single-product .nv-product-main .woocommerce-product-gallery{width:100%!important;max-width:390px!important}
.single-product .nv-product-main .woocommerce-product-gallery__image{width:100%!important;aspect-ratio:2/3!important}
.single-product .nv-product-main .woocommerce-product-gallery__image img{width:100%!important;height:100%!important;object-fit:cover!important}
.single-product .nv-product-facts{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.single-product .nv-fact-id{background:#202328!important;color:#fff!important;border-color:#202328!important}.single-product .nv-fact-id b{color:#b9bdc2!important}

/* ---------- Commerce page shell ---------- */
.nv-cart-shell .nv-wrap,.nv-checkout-shell .nv-wrap{max-width:1220px!important}
.nv-cart-shell .nv-commerce-page-head,.nv-checkout-shell .nv-commerce-page-head{margin-bottom:18px!important;padding-bottom:16px!important}
.nv-cart-shell .nv-commerce-page-head h1,.nv-checkout-shell .nv-commerce-page-head h1{font-size:clamp(29px,4vw,42px)!important;letter-spacing:-1.1px!important}
.nv-cart-shell .nv-commerce-page-head p,.nv-checkout-shell .nv-commerce-page-head p{font-size:12px!important;line-height:1.55!important}
.nv-checkout-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-3px 0 18px}
.nv-checkout-assurance>span{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--nv-line);border-radius:11px;background:var(--nv-card)}
.nv-checkout-assurance b{font-size:11px}.nv-checkout-assurance small{color:var(--nv-muted);font-size:9px;line-height:1.4}
.nv-cart-assurance{display:flex;flex-wrap:wrap;gap:6px;margin:-3px 0 14px}.nv-cart-assurance span{padding:6px 9px;border:1px solid var(--nv-line);border-radius:999px;background:#fff;color:#6e7379;font-size:8px;font-weight:800}

/* ---------- Classic Cart ---------- */
.woocommerce-cart .nv-commerce-body>.woocommerce{display:block!important;width:100%!important}
.woocommerce-cart .woocommerce-cart-form{display:block!important;width:100%!important;padding:0!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
.woocommerce-cart table.shop_table{width:100%!important;background:#fff!important}
.woocommerce-cart table.shop_table th{padding:14px 16px!important;font-size:9px!important}
.woocommerce-cart table.shop_table td{padding:14px 16px!important;font-size:12px!important;vertical-align:middle!important}
.woocommerce-cart table.cart img{width:60px!important;border-radius:8px!important}
.woocommerce-cart table.cart .product-name a{font-size:13px!important;line-height:1.35!important}
.woocommerce-cart .cart-collaterals{display:flex!important;justify-content:flex-end!important;width:100%!important;margin-top:14px!important}
.woocommerce-cart .cart-collaterals .cart_totals{width:min(440px,100%)!important;padding:18px!important;border-radius:14px!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{min-height:48px!important;border-radius:10px!important;font-size:12px!important}

/* ---------- WooCommerce Cart Block ---------- */
.woocommerce-cart .wc-block-cart{display:block!important;width:100%!important;max-width:none!important;border:0!important;background:transparent!important}
.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;gap:18px!important;align-items:start!important}
.woocommerce-cart .wc-block-cart__main{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
.woocommerce-cart .wc-block-cart__sidebar{width:100%!important;min-width:0!important;margin:0!important;padding:18px!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:#fff!important;position:sticky!important;top:106px!important}
.woocommerce-cart .wc-block-cart-items{margin:0!important}
.woocommerce-cart .wc-block-cart-items th{padding:14px!important;font-size:10px!important;color:#787d83!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.woocommerce-cart .wc-block-cart-items td{padding:16px 14px!important;border-top:1px solid #eceef0!important}
.woocommerce-cart .wc-block-cart-item__image img{border-radius:8px!important}
.woocommerce-cart .wc-block-components-product-name{font-size:14px!important;line-height:1.35!important;font-weight:850!important;color:#202328!important}
.woocommerce-cart .wc-block-components-product-metadata{font-size:10px!important;color:#858a90!important}
.woocommerce-cart .wc-block-components-totals-item{font-size:12px!important}.woocommerce-cart .wc-block-components-totals-item__label{font-weight:700!important}
.woocommerce-cart .wc-block-cart__submit-button{min-height:50px!important;border-radius:10px!important;background:#202328!important;color:#fff!important;font-size:12px!important;font-weight:850!important}
.woocommerce-cart .wc-block-components-totals-coupon__button{border-radius:8px!important}
.woocommerce-cart .wc-block-cart__empty-cart__title{font-size:25px!important}

/* ---------- Checkout Block: premium, neutral, gateway-safe ---------- */
.woocommerce-checkout .wc-block-checkout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important;gap:22px!important;align-items:start!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.woocommerce-checkout .wc-block-checkout__main{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
.woocommerce-checkout .wc-block-checkout__sidebar{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;position:sticky!important;top:106px!important}
.woocommerce-checkout .wc-block-components-checkout-step{margin:0 0 10px!important;padding:18px!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:#fff!important}
.woocommerce-checkout .wc-block-components-checkout-step__heading{margin:0 0 14px!important}.woocommerce-checkout .wc-block-components-checkout-step__title{font-size:18px!important;line-height:1.2!important;font-weight:850!important;letter-spacing:-.25px!important}
.woocommerce-checkout .wc-block-components-checkout-step__description{font-size:10px!important;color:#7d8288!important}
.woocommerce-checkout .wc-block-components-text-input input,.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input{min-height:48px!important;border:1px solid #cfd3d7!important;border-radius:10px!important;background:#fff!important;font-size:13px!important;padding-inline:13px!important;box-shadow:none!important}
.woocommerce-checkout .wc-block-components-text-input label{font-size:11px!important;color:#73787e!important}
.woocommerce-checkout .wc-block-components-address-card{padding:14px!important;border:1px solid var(--nv-line)!important;border-radius:10px!important;background:#fafbfb!important;font-size:12px!important;line-height:1.55!important}
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control{border:1px solid var(--nv-line)!important;border-radius:10px!important;overflow:hidden!important}
.woocommerce-checkout .wc-block-checkout__actions{padding:5px 0 0!important}
.woocommerce-checkout .wc-block-components-checkout-place-order-button{min-height:52px!important;width:100%!important;border-radius:10px!important;background:#202328!important;color:#fff!important;font-size:13px!important;font-weight:900!important;box-shadow:none!important}
.woocommerce-checkout .wc-block-checkout__terms{font-size:10px!important;line-height:1.55!important;color:#767b81!important}
.woocommerce-checkout .wc-block-components-order-summary{padding:0!important;border:1px solid var(--nv-line)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
.woocommerce-checkout .wc-block-components-order-summary__button-text{font-size:16px!important;font-weight:850!important}
.woocommerce-checkout .wc-block-components-order-summary-item{padding:14px 16px!important;border-top:1px solid #eceef0!important;grid-template-columns:1fr auto!important}
.woocommerce-checkout .wc-block-components-order-summary-item__image{display:none!important}
.woocommerce-checkout .wc-block-components-order-summary-item__description{min-width:0!important;padding:0!important}
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:13px!important;line-height:1.25!important;font-weight:850!important;color:#202328!important}
/* Privacy: checkout summary deliberately omits title-derived descriptions/tags. */
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description{display:none!important}
.woocommerce-checkout .wc-block-components-order-summary-item__total-price{font-size:12px!important;font-weight:850!important}
.woocommerce-checkout .wc-block-components-totals-wrapper{padding:14px 16px!important;border-top:1px solid #eceef0!important}
.woocommerce-checkout .wc-block-components-totals-item{font-size:12px!important}.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:18px!important;font-weight:900!important}
.woocommerce-checkout .wc-block-components-notice-banner{border-radius:10px!important;font-size:11px!important}

/* ---------- Classic checkout receives the same visual language ---------- */
.woocommerce-checkout form.checkout{gap:20px!important}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{border-color:var(--nv-line)!important;background:#fff!important}
.woocommerce-checkout #customer_details{padding:20px!important;border-radius:14px!important}
.woocommerce-checkout #customer_details h3,.woocommerce-checkout #order_review_heading{font-size:19px!important}
.woocommerce-checkout #order_review_heading{border-radius:14px 14px 0 0!important;padding:18px 18px 8px!important}
.woocommerce-checkout #order_review{border-radius:0 0 14px 14px!important;padding:8px 18px 18px!important}
.woocommerce-checkout form .form-row label{font-size:10px!important}.woocommerce-checkout form .form-row input.input-text,.woocommerce-checkout form .form-row textarea,.woocommerce-checkout form .form-row select{min-height:46px!important;border-radius:9px!important;font-size:12px!important;background:#fff!important}
.woocommerce-checkout #payment{border-radius:10px!important;background:#f7f8f9!important}.woocommerce-checkout #place_order{min-height:50px!important;width:100%!important;border-radius:10px!important;font-size:13px!important}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{font-size:12px!important}.woocommerce-checkout .woocommerce-checkout-review-order-table .variation,.woocommerce-checkout .woocommerce-checkout-review-order-table .wc-item-meta{display:none!important}

/* ---------- Dark mode ---------- */
html[data-nv-theme=dark] .nv-checkout-assurance>span,html[data-nv-theme=dark] .nv-cart-assurance span,html[data-nv-theme=dark] .woocommerce-cart .woocommerce-cart-form,html[data-nv-theme=dark] .woocommerce-cart .wc-block-cart__main,html[data-nv-theme=dark] .woocommerce-cart .wc-block-cart__sidebar,html[data-nv-theme=dark] .woocommerce-checkout .wc-block-components-checkout-step,html[data-nv-theme=dark] .woocommerce-checkout .wc-block-components-order-summary,html[data-nv-theme=dark] .woocommerce-checkout #customer_details,html[data-nv-theme=dark] .woocommerce-checkout #order_review_heading,html[data-nv-theme=dark] .woocommerce-checkout #order_review{background:var(--nv-card)!important;color:var(--nv-ink)!important}
html[data-nv-theme=dark] .woocommerce-checkout .wc-block-components-text-input input,html[data-nv-theme=dark] .woocommerce-checkout .wc-block-components-address-card{background:#25282c!important;color:#f0f1f2!important;border-color:var(--nv-line)!important}
html[data-nv-theme=dark] .woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name,html[data-nv-theme=dark] .woocommerce-cart .wc-block-components-product-name{color:var(--nv-ink)!important}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .single-product .nv-product-main{grid-template-columns:minmax(210px,34%) minmax(0,1fr)!important;gap:18px!important}
  .single-product .nv-product-main .product_title{font-size:clamp(25px,4.3vw,34px)!important}
  .single-product .nv-product-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .woocommerce-checkout .wc-block-checkout{grid-template-columns:minmax(0,1fr) 320px!important;gap:14px!important}
  .woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:12px!important}
}
@media(max-width:760px){
  .single-product .nv-product-main{grid-template-columns:38% minmax(0,1fr)!important;gap:11px!important}
  .single-product .nv-product-main .product_title{font-size:20px!important;line-height:1.07!important;letter-spacing:-.45px!important}
  .single-product .nv-product-main .woocommerce-product-details__short-description{font-size:8.5px!important;line-height:1.5!important;-webkit-line-clamp:4!important}
  .single-product .nv-product-main p.price{font-size:17px!important}
  .single-product .nv-product-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nv-checkout-assurance{grid-template-columns:1fr!important;gap:5px}.nv-checkout-assurance>span{padding:9px 11px}.nv-checkout-assurance small{font-size:8px}
  .woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout,.woocommerce-checkout .wc-block-checkout{display:block!important}
  .woocommerce-cart .wc-block-cart__sidebar,.woocommerce-checkout .wc-block-checkout__sidebar{position:static!important;margin-top:10px!important}
  .woocommerce-cart table.shop_table_responsive thead{display:none!important}
  .woocommerce-cart table.shop_table_responsive tr{display:block!important;padding:11px!important;border-bottom:1px solid var(--nv-line)!important}
  .woocommerce-cart table.shop_table_responsive td{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:7px 0!important;border:0!important;text-align:right!important}
  .woocommerce-cart table.shop_table_responsive td::before{font-size:8px!important;color:#858a90!important}
  .woocommerce-checkout .wc-block-components-checkout-step{padding:14px!important;border-radius:11px!important}
  .woocommerce-checkout .wc-block-components-order-summary{border-radius:11px!important}
  .woocommerce-checkout form.checkout{display:block!important}.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{position:static!important;width:100%!important}
}
@media(max-width:430px){
  .single-product .nv-product-main{grid-template-columns:40% minmax(0,1fr)!important;gap:9px!important}
  .single-product .nv-product-main .product_title{font-size:18px!important}
  .single-product .nv-product-main form.cart{display:none!important}
  .nv-cart-shell .nv-commerce-page-head h1,.nv-checkout-shell .nv-commerce-page-head h1{font-size:28px!important}
  .nv-cart-shell .nv-commerce-page-head p,.nv-checkout-shell .nv-commerce-page-head p{font-size:9px!important}
}
