/* DiviHarbor Commerce QA / 28 Oct 2026
 * Cart page ID 18 and temporary WooCommerce QA product ID 2971 only.
 * WooCommerce product/cart blocks, forms and business logic are UNCHANGED.
 * Design: DiviHarbor navy #091443 / purple #4130E9 / pale #F7F8FF.
 */

/* Shared transaction canvas and consistent 1220px content line. */
body.page-id-18,
body.single-product.postid-2971 {
  --dhm-ink:#091443;--dhm-purple:#4130E9;--dhm-indigo:#4739EC;
  --dhm-muted:#657399;--dhm-border:#E7EAF4;--dhm-surface:#FFFFFF;
  --dhm-pale:#F7F8FF;--dhm-radius:18px;
}
body.page-id-18 #sidebar,
body.single-product.postid-2971 #sidebar {display:none!important;}
body.page-id-18 #main-content,
body.single-product.postid-2971 #main-content {
  background:linear-gradient(180deg,#F7F8FF 0,#FFFFFF 540px)!important;
}
body.page-id-18 #main-content .container,
body.single-product.postid-2971 #main-content .container {
  width:min(1220px,calc(100% - 80px))!important;
  max-width:1220px!important;
  padding:64px 0 92px!important;
}
body.page-id-18 #main-content .container::before,
body.single-product.postid-2971 #main-content .container::before {display:none!important;}
body.page-id-18 #main-content #left-area,
body.single-product.postid-2971 #main-content #left-area {
  float:none!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;
}
body.page-id-18 #main-content #content-area,
body.single-product.postid-2971 #main-content #content-area,
body.page-id-18 #main-content .entry-content {
  width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;
  font-family:Inter,Arial,sans-serif!important;color:var(--dhm-ink);
}
body.page-id-18 #main-content .entry-title.main_title {
  font-family:Inter,Arial,sans-serif!important;
  color:var(--dhm-ink)!important;line-height:1.16!important;
  font-size:clamp(32px,3.3vw,46px)!important;letter-spacing:-.035em;
  font-weight:800!important;margin:0 0 35px!important;padding:0!important;
}
body.page-id-18 #main-content .entry-title.main_title::before{
  content:"DIVIHARBOR / YOUR CART";display:block;
  color:var(--dhm-purple);font:800 11px/1.4 Inter,Arial,sans-serif;
  letter-spacing:.14em;margin:0 0 13px;
}

/* Real WooCommerce Cart Block */
body.page-id-18 .wp-block-woocommerce-cart {
  width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;
  font-family:Inter,Arial,sans-serif!important;color:var(--dhm-ink);
}
body.page-id-18 .wc-block-components-sidebar-layout.wc-block-cart {
  width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;gap:32px!important;
}
body.page-id-18 .wc-block-cart-items {
  border:1px solid var(--dhm-border)!important;border-radius:18px!important;
  background:#fff!important;overflow:hidden!important;
  box-shadow:0 15px 37px rgba(18,32,102,.035)!important;
}
body.page-id-18 .wc-block-cart-items__row {
  border-color:var(--dhm-border)!important;padding:22px 20px!important;
}
body.page-id-18 .wc-block-cart-items__row .wc-block-components-product-name{
  color:var(--dhm-ink)!important;font-size:15px!important;
  font-family:Inter,Arial,sans-serif!important;font-weight:700!important;
  text-decoration:none!important;
}
body.page-id-18 .wc-block-cart-items__row .wc-block-components-product-name:hover{
  color:var(--dhm-purple)!important;
}
body.page-id-18 .wc-block-cart__sidebar,
body.page-id-18 .wp-block-woocommerce-cart-totals-block {
  background:#fff!important;border:1px solid var(--dhm-border)!important;
  border-radius:18px!important;padding:22px!important;
  box-shadow:0 14px 36px rgba(18,32,102,.04)!important;
}
body.page-id-18 .wc-block-cart__sidebar .wc-block-components-totals-wrapper{
  border-color:var(--dhm-border)!important;
}
body.page-id-18 .wc-block-components-totals-footer-item__label,
body.page-id-18 .wc-block-components-totals-footer-item__value {
  font-weight:800!important;color:var(--dhm-ink)!important;
}
body.page-id-18 .wc-block-components-proceed-to-checkout .wc-block-components-button,
body.page-id-18 .wc-block-cart__submit-button,
body.page-id-18 .wc-block-cart__submit-button .wc-block-components-button__text {
  font:750 15px/1.35 Inter,Arial,sans-serif!important;
}
body.page-id-18 .wc-block-components-proceed-to-checkout .wc-block-components-button,
body.page-id-18 .wc-block-cart__submit-button {
  border-radius:10px!important;border:0!important;
  min-height:54px!important;padding:14px 22px!important;
  color:#fff!important;background:linear-gradient(105deg,#4739EC,#4223DB)!important;
  box-shadow:0 12px 23px rgba(65,48,233,.17)!important;
  transition:filter .18s ease,transform .18s ease!important;
}
body.page-id-18 .wc-block-cart__submit-button:hover:not(:disabled) {
  filter:brightness(1.08)!important;transform:translateY(-1px)!important;
}
body.page-id-18 .wc-block-components-totals-coupon a,
body.page-id-18 .wc-block-cart a:not(.wc-block-cart__submit-button){
  color:var(--dhm-purple)!important;
}
body.page-id-18 .wc-block-components-text-input input {
  border:1px solid #D9DFF0!important;border-radius:10px!important;
  min-height:48px!important;box-shadow:none!important;
  color:var(--dhm-ink)!important;
}
body.page-id-18 .wc-block-components-text-input input:focus-visible,
body.page-id-18 .wc-block-cart a:focus-visible,
body.page-id-18 .wc-block-cart button:focus-visible {
  outline:3px solid rgba(65,48,233,.32)!important;outline-offset:2px!important;
}

/* WooCommerce QA product (not DiviHarbor Library detail template). */
body.single-product.postid-2971 #left-area > .woocommerce-breadcrumb {
  display:block!important;color:var(--dhm-muted)!important;
  font:500 13px/1.5 Inter,Arial,sans-serif!important;
  margin:0 0 23px!important;
}
body.single-product.postid-2971 #left-area > .woocommerce-breadcrumb a {
  color:var(--dhm-purple)!important;text-decoration:none!important;
}
body.single-product.postid-2971 .woocommerce div.product,
body.single-product.postid-2971 #product-2971 {
  color:var(--dhm-ink);font-family:Inter,Arial,sans-serif!important;
}
body.single-product.postid-2971 #product-2971 > .clearfix {
  display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:52px;align-items:center;
  width:100%;max-width:100%;
}
body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery,
body.single-product.postid-2971 #product-2971 .entry-summary {
  float:none!important;width:100%!important;max-width:100%!important;
  margin:0!important;min-width:0!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images{
  position:relative;display:flex!important;align-items:center;justify-content:center;
  min-height:355px;aspect-ratio:1.27;
  border-radius:20px!important;overflow:hidden;
  background:radial-gradient(circle at 70% 25%,rgba(165,145,255,.32),transparent 43%),
   linear-gradient(135deg,#0C1948 0%,#161B63 56%,#4130E9 100%);
  border:1px solid rgba(122,121,244,.25);
  box-shadow:0 20px 55px rgba(9,20,67,.12);
}
body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__wrapper {
  display:none!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images::before {
  content:"DIVIHARBOR";
  color:#fff;letter-spacing:-.045em;font:800 clamp(30px,3.2vw,54px)/1 Inter,Arial,sans-serif;
  text-shadow:0 10px 40px rgba(0,0,0,.18);text-align:center;
}
body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images::after {
  content:"F01  /  CHECKOUT TEST";
  position:absolute;bottom:27px;left:30px;
  color:#DAD6FF;letter-spacing:.15em;font:750 10px/1.4 Inter,Arial,sans-serif;
}
body.single-product.postid-2971 #product-2971 .product_title {
  font:800 clamp(30px,3.2vw,44px)/1.14 Inter,Arial,sans-serif!important;
  letter-spacing:-.035em!important;color:var(--dhm-ink)!important;
  margin:0 0 15px!important;padding:0!important;
}
body.single-product.postid-2971 #product-2971 .summary .price {
  color:var(--dhm-purple)!important;font:800 30px/1.3 Inter,Arial,sans-serif!important;
  margin:0 0 17px!important;
}
body.single-product.postid-2971 #product-2971 .summary .price * {
  color:inherit!important;font-weight:inherit!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-product-details__short-description{
  color:var(--dhm-muted)!important;font:400 16px/1.65 Inter,Arial,sans-serif!important;
  margin:0 0 25px!important;
}
body.single-product.postid-2971 #product-2971 .single_add_to_cart_button,
body.single-product.postid-2971 .woocommerce-message .button.wc-forward,
body.single-product.postid-2971 .woocommerce a.button.wc-forward {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid transparent!important;border-radius:10px!important;
  padding:16px 28px!important;min-height:54px!important;
  background:linear-gradient(105deg,#4739EC,#4223DB)!important;
  color:#fff!important;font:750 15px/1.3 Inter,Arial,sans-serif!important;
  box-shadow:0 12px 24px rgba(65,48,233,.18)!important;
  text-decoration:none!important;letter-spacing:0!important;
  transition:filter .2s ease,transform .2s ease!important;
}
body.single-product.postid-2971 #product-2971 .single_add_to_cart_button:hover,
body.single-product.postid-2971 .woocommerce-message .button.wc-forward:hover,
body.single-product.postid-2971 .woocommerce a.button.wc-forward:hover {
  background:linear-gradient(105deg,#4739EC,#4223DB)!important;
  border:1px solid transparent!important;
  padding:16px 28px!important;filter:brightness(1.07);
  transform:translateY(-1px);
}
/* Remove Divi's hover-generated arrow, extra padding and border shifts. */
body.single-product.postid-2971 #product-2971 .single_add_to_cart_button::after,
body.single-product.postid-2971 #product-2971 .single_add_to_cart_button:hover::after,
body.single-product.postid-2971 .woocommerce-message .button.wc-forward::after,
body.single-product.postid-2971 .woocommerce-message .button.wc-forward:hover::after,
body.single-product.postid-2971 .woocommerce a.button.wc-forward::after,
body.single-product.postid-2971 .woocommerce a.button.wc-forward:hover::after {
  display:none!important;content:none!important;
}
body.single-product.postid-2971 .woocommerce-message {
  display:flex!important;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:15px;
  border:1px solid #E1E3FA!important;border-radius:14px!important;
  background:linear-gradient(110deg,#F2EFFF,#F7F8FF)!important;
  color:var(--dhm-ink)!important;font:500 15px/1.5 Inter,Arial,sans-serif!important;
  padding:18px 22px!important;margin:0 0 34px!important;
}
body.single-product.postid-2971 .woocommerce-message .button.wc-forward{
  order:2;flex:0 0 auto;margin:0!important;
}
body.single-product.postid-2971 .woocommerce-message::before,
body.single-product.postid-2971 .woocommerce-message::after {display:none!important;}
body.single-product.postid-2971 #product-2971 .product_meta{
  display:none!important; /* Hide internal QA SKU and "Uncategorized" from visitors. */
}
body.single-product.postid-2971 #product-2971 .woocommerce-tabs {
  margin-top:54px!important;
  border:1px solid var(--dhm-border)!important;border-radius:18px!important;
  padding:26px 31px!important;background:#fff!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs{
  background:none!important;border:0!important;padding:0!important;margin:0 0 13px!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs::before,
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs::after,
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs li::before,
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs li::after {
  display:none!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs li {
  background:none!important;border:0!important;border-radius:0!important;
  padding:0!important;margin:0!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-tabs ul.tabs li a{
  color:var(--dhm-ink)!important;font:750 17px/1.3 Inter,Arial,sans-serif!important;
  padding:0 0 8px!important;
}
body.single-product.postid-2971 #product-2971 .woocommerce-Tabs-panel {
  font:400 15px/1.7 Inter,Arial,sans-serif!important;color:var(--dhm-muted)!important;
}
body.single-product.postid-2971 button:focus-visible,
body.single-product.postid-2971 a:focus-visible{
  outline:3px solid rgba(65,48,233,.35)!important;outline-offset:3px!important;
}
@media(min-width:1001px){
  body.page-id-18 .wc-block-components-sidebar-layout.wc-block-cart{
    display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;
  }
  body.page-id-18 .wc-block-cart__main{flex:1 1 0%!important;min-width:0!important;width:auto!important;}
  body.page-id-18 .wc-block-cart__sidebar {flex:0 0 355px!important;width:355px!important;max-width:355px!important;}
}
@media(max-width:1000px){
  body.page-id-18 .wc-block-components-sidebar-layout.wc-block-cart{
    display:flex!important;flex-direction:column!important;gap:19px!important;
  }
  body.page-id-18 .wc-block-cart__main,
  body.page-id-18 .wc-block-cart__sidebar{width:100%!important;max-width:100%!important;flex:0 1 auto!important;}
  body.single-product.postid-2971 #product-2971 > .clearfix{
    grid-template-columns:1fr!important;gap:24px!important;
  }
  body.page-id-18 #main-content .container,
  body.single-product.postid-2971 #main-content .container{
    width:calc(100% - 52px)!important;padding:53px 0 78px!important;
  }
}
@media(max-width:767px){
  body.page-id-18 #main-content .container,
  body.single-product.postid-2971 #main-content .container{
    width:calc(100% - 36px)!important;padding:36px 0 58px!important;
  }
  body.page-id-18 #main-content .entry-title.main_title{font-size:31px!important;margin-bottom:25px!important;}
  body.page-id-18 .wc-block-cart__sidebar{padding:19px!important;}
  body.page-id-18 .wc-block-cart__submit-button{width:100%!important;}
  body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images{
    min-height:238px;aspect-ratio:1.45;
  }
  body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images::before{font-size:32px;}
  body.single-product.postid-2971 #product-2971 .product_title{font-size:30px!important;}
  body.single-product.postid-2971 #product-2971 .single_add_to_cart_button{width:100%!important;}
  body.single-product.postid-2971 .woocommerce-message .button.wc-forward{width:100%!important;order:2;}
  body.single-product.postid-2971 #product-2971 .woocommerce-tabs{padding:20px!important;margin-top:35px!important;}
}

/* Mobile commerce cleanup, QA test product and cart only. */
@media (max-width:767px) {
 body.page-id-18 .wc-block-cart-items {
   border-radius:15px!important;
   overflow:hidden!important;
 }
 body.page-id-18 .wc-block-cart-items__row {
   padding:16px 13px!important;
 }
 body.page-id-18 .wc-block-cart-items__row .wc-block-components-product-name {
   font-size:15px!important;
   line-height:1.38!important;
   overflow-wrap:anywhere!important;
 }
 body.page-id-18 .wc-block-cart-items__row .wc-block-components-product-metadata {
   font-size:12px!important;
   line-height:1.4!important;
 }
 body.page-id-18 .wc-block-cart__sidebar {
   padding:17px 16px!important;
   margin:16px 0 0!important;
   box-sizing:border-box!important;
 }
 body.page-id-18 .wc-block-components-totals-footer-item {
   padding-block:13px!important;
 }
 body.page-id-18 .wc-block-components-proceed-to-checkout,
 body.page-id-18 .wc-block-cart__submit-container {
   width:100%!important;max-width:100%!important;
   margin:0!important;
 }
 body.page-id-18 .wc-block-cart__submit-button {
   display:flex!important;align-items:center!important;justify-content:center!important;
   width:100%!important;max-width:100%!important;
   min-height:54px!important;
   padding:13px 14px!important;
   line-height:1.3!important;
   white-space:normal!important;
   box-sizing:border-box!important;
 }
 body.single-product.postid-2971 #left-area > .woocommerce-breadcrumb,
 body.single-product.postid-2971 .woocommerce-breadcrumb {
   display:none!important; /* QA only: remove confusing Uncategorized breadcrumb */
 }
 body.single-product.postid-2971 .woocommerce-message {
   padding:16px 17px!important;
   margin-bottom:22px!important;
   gap:12px!important;
   font-size:14px!important;
   line-height:1.5!important;
 }
 body.single-product.postid-2971 #product-2971 > .clearfix {
   gap:18px!important;
 }
 body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images {
   min-height:185px!important;
   max-height:230px!important;
   aspect-ratio:1.65!important;
   border-radius:17px!important;
 }
 body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images::before {
   font-size:clamp(25px,7vw,35px)!important;
 }
 body.single-product.postid-2971 #product-2971 .woocommerce-product-gallery--without-images::after {
   bottom:17px!important;left:19px!important;font-size:9px!important;
 }
 body.single-product.postid-2971 #product-2971 .product_title {
   font-size:clamp(26px,7vw,33px)!important;line-height:1.19!important;
 }
 body.single-product.postid-2971 #product-2971 .summary .price {
   font-size:26px!important;
 }
 body.single-product.postid-2971 #product-2971 .single_add_to_cart_button {
   width:100%!important;min-height:53px!important;
 }
 body.single-product.postid-2971 .woocommerce-message .button.wc-forward {
   width:100%!important;
   min-height:52px!important;
 }
}
@media (max-width:767px) {
 body.dh-commerce-single-language .trp-language-switcher.trp-floating-switcher {
   display:none!important;
 }
}
