/* =====================================================
   PTP Dynamic Woo Pages Theme v1.0.1
   Dynamic/utility states only. Empty cart product grid is
   fully isolated from the normal shop-card plugin/theme CSS.
   ===================================================== */

:root{
  --ptp-bg:#000000;
  --ptp-panel:#06111c;
  --ptp-panel-2:#0a1e31;
  --ptp-blue:#1168bd;
  --ptp-blue-2:#0a7bdc;
  --ptp-navy:#062f4c;
  --ptp-text:#ffffff;
  --ptp-muted:#6f8fb8;
  --ptp-border:rgba(255,255,255,.88);
}

/* =============================
   EMPTY CART ONLY
   ============================= */
body.ptp-empty-cart-state,
body.ptp-empty-cart-state #page,
body.ptp-empty-cart-state .site,
body.ptp-empty-cart-state .site-content,
body.ptp-empty-cart-state .content-area,
body.ptp-empty-cart-state main,
body.ptp-empty-cart-state .entry-content{
  background:var(--ptp-bg)!important;
  color:var(--ptp-text)!important;
}

body.ptp-empty-cart-state .entry-title,
body.ptp-empty-cart-state .page-title,
body.ptp-empty-cart-state h1,
body.ptp-empty-cart-state h2,
body.ptp-empty-cart-state h3,
body.ptp-empty-cart-state h4{
  color:var(--ptp-text)!important;
}

body.ptp-empty-cart-state .woocommerce{
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:34px 20px 60px!important;
}

body.ptp-empty-cart-state .wc-empty-cart-message,
body.ptp-empty-cart-state .woocommerce-info,
body.ptp-empty-cart-state .cart-empty.woocommerce-info{
  background:linear-gradient(180deg,var(--ptp-panel-2),var(--ptp-panel))!important;
  border:1px solid var(--ptp-border)!important;
  border-left:4px solid var(--ptp-blue)!important;
  color:var(--ptp-text)!important;
  border-radius:18px!important;
  box-shadow:none!important;
  max-width:700px!important;
  margin:25px auto!important;
  padding:22px 24px!important;
  text-align:center!important;
}

body.ptp-empty-cart-state .wc-empty-cart-message::before,
body.ptp-empty-cart-state .woocommerce-info::before{
  color:var(--ptp-blue)!important;
}

body.ptp-empty-cart-state .return-to-shop{
  text-align:center!important;
  margin:22px 0 48px!important;
}

body.ptp-empty-cart-state .return-to-shop .button,
body.ptp-empty-cart-state .wc-backward{
  background:var(--ptp-navy)!important;
  color:#fff!important;
  border:1px solid var(--ptp-blue)!important;
  border-radius:10px!important;
  padding:13px 22px!important;
  font-weight:600!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

body.ptp-empty-cart-state .return-to-shop .button:hover,
body.ptp-empty-cart-state .wc-backward:hover{
  background:var(--ptp-blue)!important;
  color:#fff!important;
}

/* Woo Blocks empty-cart header/message */
body.ptp-empty-cart-state .wp-block-woocommerce-empty-cart-block,
body.ptp-empty-cart-state .wc-block-cart__empty-cart__title,
body.ptp-empty-cart-state .wp-block-heading{
  color:var(--ptp-text)!important;
}

body.ptp-empty-cart-state .wp-block-woocommerce-empty-cart-block > .wp-block-heading,
body.ptp-empty-cart-state .wc-block-cart__empty-cart__title{
  text-align:center!important;
}

/* =============================
   EMPTY CART - NEW IN STORE GRID
   Strong reset so normal shop-card CSS cannot collapse cards.
   ============================= */
body.ptp-empty-cart-state .wc-block-grid__products,
body.ptp-empty-cart-state .wp-block-woocommerce-product-new ul.wc-block-grid__products,
body.ptp-empty-cart-state ul.products{
  width:100%!important;
  max-width:1240px!important;
  margin:28px auto 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
  list-style:none!important;
}

body.ptp-empty-cart-state .wc-block-grid__product,
body.ptp-empty-cart-state ul.products li.product{
  box-sizing:border-box!important;
  position:relative!important;
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:420px!important;
  margin:0!important;
  padding:0 0 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  background:#000!important;
  border:1px solid var(--ptp-border)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}

body.ptp-empty-cart-state .wc-block-grid__product > a,
body.ptp-empty-cart-state ul.products li.product > a.woocommerce-LoopProduct-link{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  text-decoration:none!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-image,
body.ptp-empty-cart-state .wc-block-grid__product-image a,
body.ptp-empty-cart-state ul.products li.product a img,
body.ptp-empty-cart-state ul.products li.product img{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:220px!important;
  min-height:220px!important;
  margin:0!important;
  padding:14px!important;
  object-fit:contain!important;
  background:var(--ptp-blue)!important;
  border:0!important;
  border-radius:0!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  background:#f3f6f7!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-title,
body.ptp-empty-cart-state ul.products li.product .woocommerce-loop-product__title{
  display:block!important;
  width:auto!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  margin:16px 18px 8px!important;
  padding:0!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-price,
body.ptp-empty-cart-state ul.products li.product .price{
  display:block!important;
  position:static!important;
  width:auto!important;
  margin:auto 18px 12px!important;
  padding:14px 0 0!important;
  border-top:1px solid rgba(255,255,255,.5)!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:700!important;
  text-align:left!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-add-to-cart,
body.ptp-empty-cart-state ul.products li.product .button{
  position:static!important;
  inset:auto!important;
  float:none!important;
  width:auto!important;
  max-width:none!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-add-to-cart{
  margin:0 18px!important;
  padding:0!important;
  text-align:left!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-add-to-cart a,
body.ptp-empty-cart-state ul.products li.product .button,
body.ptp-empty-cart-state ul.products li.product a.button,
body.ptp-empty-cart-state ul.products li.product .add_to_cart_button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:static!important;
  inset:auto!important;
  min-width:92px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:40px!important;
  margin:0 18px!important;
  padding:10px 16px!important;
  background:var(--ptp-navy)!important;
  color:#fff!important;
  border:0!important;
  border-radius:9px!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:500!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-add-to-cart a{
  margin:0!important;
}

body.ptp-empty-cart-state ul.products li.product .button::before,
body.ptp-empty-cart-state ul.products li.product .add_to_cart_button::before{
  content:none!important;
}

body.ptp-empty-cart-state .wc-block-grid__product-add-to-cart a:hover,
body.ptp-empty-cart-state ul.products li.product .button:hover{
  background:var(--ptp-blue)!important;
  color:#fff!important;
}

/* Prevent old shop plugin pseudo layers from affecting empty cart cards */
body.ptp-empty-cart-state ul.products li.product::before,
body.ptp-empty-cart-state ul.products li.product::after{
  content:none!important;
  display:none!important;
}

/* =============================
   DYNAMIC WOOCOMMERCE NOTICES
   ============================= */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
  border-radius:12px!important;
  box-shadow:none!important;
}

body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .wc-block-components-notice-banner.is-info,
body.woocommerce-page .wc-block-components-notice-banner.is-success{
  background:#081a2b!important;
  border:1px solid #145b91!important;
  color:#fff!important;
}

body.woocommerce-page .woocommerce-message a,
body.woocommerce-page .woocommerce-info a,
body.woocommerce-page .wc-block-components-notice-banner a{
  color:#7fc3ff!important;
}

.woocommerce-no-products-found{
  background:linear-gradient(180deg,var(--ptp-panel-2),var(--ptp-panel))!important;
  border:1px solid var(--ptp-border)!important;
  border-radius:18px!important;
  color:#fff!important;
  padding:24px!important;
}
.woocommerce-no-products-found .woocommerce-info{margin:0!important;}

body.woocommerce-lost-password .woocommerce,
body.woocommerce-reset-password .woocommerce{max-width:720px;margin:0 auto;}
body.woocommerce-lost-password form.lost_reset_password,
body.woocommerce-reset-password form.lost_reset_password{
  background:var(--ptp-panel)!important;border:1px solid var(--ptp-border)!important;
  border-radius:18px!important;padding:28px!important;color:#fff!important;
}
body.woocommerce-lost-password form input.input-text,
body.woocommerce-reset-password form input.input-text{
  background:#fff!important;color:#111!important;border:1px solid #d8dce3!important;
  border-radius:9px!important;min-height:46px!important;
}
body.woocommerce-lost-password form button.button,
body.woocommerce-reset-password form button.button{
  background:var(--ptp-navy)!important;color:#fff!important;border-radius:9px!important;
}

body.woocommerce-order-received .woocommerce-order{color:#fff;}
body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details{
  background:var(--ptp-panel)!important;border:1px solid rgba(255,255,255,.22)!important;
  border-radius:16px!important;color:#fff!important;padding:20px!important;
}
body.woocommerce-order-received table,
body.woocommerce-order-received th,
body.woocommerce-order-received td{
  color:#fff!important;border-color:rgba(255,255,255,.18)!important;
}

@media (max-width:1024px){
  body.ptp-empty-cart-state .wc-block-grid__products,
  body.ptp-empty-cart-state ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:600px){
  body.ptp-empty-cart-state .woocommerce{padding:24px 14px 42px!important;}
  body.ptp-empty-cart-state .wc-block-grid__products,
  body.ptp-empty-cart-state ul.products{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.ptp-empty-cart-state .wc-block-grid__product,
  body.ptp-empty-cart-state ul.products li.product{
    min-height:0!important;
  }
  body.ptp-empty-cart-state .wc-block-grid__product-image,
  body.ptp-empty-cart-state .wc-block-grid__product-image a,
  body.ptp-empty-cart-state ul.products li.product a img,
  body.ptp-empty-cart-state ul.products li.product img{
    height:250px!important;
    min-height:250px!important;
  }
}
