/* Bespoke Wallpaper single-product redesign v2.1 */
.single-product .page-header,
.single-product .woocommerce-products-header,
.single-product .page-title,
.single-product .page-header-wrap,
.single-product .entry-header:not(.woocommerce-Reviews-title):not(.product_title),
.single-product .fl-page-header,
.single-product .site-page-header,
.single-product .hero-banner,
.single-product .titlebar,
.single-product .page-title-bar,
.single-product .summary .price,
.single-product .summary .bwp-price-from,
.single-product .summary .woocommerce-product-details__short-description,
.single-product .product_meta,
.single-product .woocommerce-tabs {display:none !important;}

.single-product aside.sidebar,
.single-product #secondary,
.single-product .widget-area,
.single-product .sidebar-primary,
.single-product .content-sidebar-wrap > aside,
.single-product .site-main .sidebar {display:none !important;}

.single-product .content-area,
.single-product .site-main,
.single-product .content-sidebar-wrap,
.single-product .content-sidebar-wrap .content,
.single-product .site-content,
.single-product .fl-content,
.single-product .ast-woocommerce-container,
.single-product .woocommerce-container {
  width:100% !important;
  max-width:1180px !important;
}
.single-product .site-content,
.single-product .content-area {padding-top:12px !important;}

/* Main product layout */
.single-product div.product {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 350px !important;
  gap:22px !important;
  align-items:start !important;
  padding:14px !important;
  margin:0 0 16px !important;
  border:1px solid #e9e9e9 !important;
  border-radius:26px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(0,0,0,.022) !important;
}
.single-product div.product div.images,
.single-product div.product div.summary {
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
.single-product div.product div.images {
  position:relative !important;
  top:0 !important;
  display:block !important;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport {
  border-radius:22px !important;
  overflow:hidden !important;
  background:#f4f4f4 !important;
}
.single-product div.product div.images img {
  display:block !important;
  border-radius:22px !important;
}
.single-product .flex-control-thumbs {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  margin:9px 0 0 !important;
  padding:0 !important;
}
.single-product .flex-control-thumbs li {width:auto !important;float:none !important;}
.single-product .flex-control-thumbs li img {
  border-radius:12px !important;
  border:1px solid #ececec !important;
  background:#fff !important;
}

/* Description under image */
.bwp-image-description {
  margin-top:10px !important;
  padding:13px 15px !important;
  border:1px solid #ececec !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#565656 !important;
  font-size:13px !important;
  line-height:1.58 !important;
}
.bwp-image-description strong {
  display:block !important;
  margin-bottom:5px !important;
  color:#111 !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.bwp-image-description p {margin:0 !important;}

/* Right column */
.single-product div.product .summary {
  display:grid !important;
  align-content:start !important;
  gap:9px !important;
  padding:2px 0 0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.single-product .woocommerce-breadcrumb {
  margin:0 0 3px !important;
  color:#7a7a7a !important;
  font-size:10.5px !important;
}
.single-product .woocommerce-breadcrumb a {color:#5d5d5d !important;}
.single-product .bwp-product-intro {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin:0 !important;
}
.single-product .bwp-chip {
  display:inline-flex !important;
  align-items:center !important;
  min-height:27px !important;
  padding:0 10px !important;
  border:1px solid #ececec !important;
  border-radius:999px !important;
  background:#f7f7f7 !important;
  color:#666 !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.single-product .bwp-chip.is-dark {background:#111 !important;border-color:#111 !important;color:#fff !important;}
.single-product .bwp-chip.is-soft {background:#fbfbfb !important;color:#6c6c6c !important;}
.single-product .product_title.entry-title,
.single-product .summary .product_title,
.single-product .summary h1 {
  margin:0 !important;
  color:#111 !important;
  font-size:clamp(24px,2.4vw,30px) !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
  font-weight:500 !important;
}
.single-product .summary > p {
  margin:0 !important;
  color:#5f5f5f !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

/* Small order panel */
.single-product form.cart {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  width:100% !important;
  max-width:350px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  border:0 !important;
}
.single-product form.cart .quantity {display:none !important;}
.bwp-order-box {
  order:0 !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:350px !important;
  padding:13px !important;
  margin:0 !important;
  border:1px solid #e8e8e8 !important;
  border-radius:18px !important;
  background:#fcfcfc !important;
  box-shadow:none !important;
}
.bwp-order-head {
  display:grid !important;
  gap:3px !important;
  margin-bottom:10px !important;
}
.bwp-order-head span {
  font-size:8.5px !important;
  font-weight:800 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  color:#7a7a7a !important;
}
.bwp-order-head strong {
  font-size:19px !important;
  line-height:1.02 !important;
  letter-spacing:-.025em !important;
  color:#111 !important;
}
.bwp-order-head p {
  margin:0 !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  color:#6a6a6a !important;
}
.bwp-order-grid {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
.bwp-area-field {
  display:grid !important;
  gap:5px !important;
  margin:0 !important;
  color:#2d2d2d !important;
  font-size:10.5px !important;
  font-weight:800 !important;
}
.bwp-input-wrap {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 46px !important;
  align-items:center !important;
  border:1px solid #dcdcdc !important;
  border-radius:13px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.bwp-input-wrap input {
  width:100% !important;
  min-height:42px !important;
  padding:0 11px !important;
  border:0 !important;
  background:#fff !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:700 !important;
  outline:none !important;
  box-sizing:border-box !important;
}
.bwp-input-wrap em {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  border-left:1px solid #e5e5e5 !important;
  background:#f6f6f6 !important;
  color:#555 !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  font-style:normal !important;
}
.bwp-order-install {
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 !important;
  padding:9px 10px !important;
  border:1px solid #e7e7e7 !important;
  border-radius:13px !important;
  background:#fff !important;
  cursor:pointer !important;
}
.bwp-order-install input {margin:0 !important;transform:scale(1.02) !important;}
.bwp-order-install span {display:grid !important;gap:1px !important;}
.bwp-order-install strong {font-size:10.8px !important;color:#111 !important;}
.bwp-order-install small {font-size:9.5px !important;color:#6b6b6b !important;}

.bwp-order-breakdown {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
  margin-top:9px !important;
}
.bwp-order-line {
  display:grid !important;
  gap:2px !important;
  padding:8px 9px !important;
  min-height:54px !important;
  border:1px solid #e9e9e9 !important;
  border-radius:12px !important;
  background:#fff !important;
  align-content:center !important;
}
.bwp-order-line span {
  color:#787878 !important;
  font-size:8px !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}
.bwp-order-line strong {color:#111 !important;font-size:12px !important;line-height:1.05 !important;}
.bwp-order-total {grid-column:1 / -1 !important;background:#111 !important;border-color:#111 !important;}
.bwp-order-total span,
.bwp-order-total strong {color:#fff !important;}
.bwp-order-total strong {font-size:16px !important;}
.bwp-purchase-helper {display:none !important;}

/* Redesigned buttons */
.bwp-action-row {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  margin-top:13px !important;
}
.single-product .single_add_to_cart_button,
.single-product .bwp-buy-now {
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:0 14px !important;
  border-radius:14px !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.065em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}
.single-product .single_add_to_cart_button {
  border:1.5px solid #111 !important;
  background:#fff !important;
  color:#111 !important;
}
.single-product .single_add_to_cart_button:hover {background:#f5f5f5 !important;}
.single-product .bwp-buy-now {
  border:1.5px solid #111 !important;
  background:#111 !important;
  color:#fff !important;
}
.single-product .bwp-buy-now:hover {background:#000 !important;border-color:#000 !important;}
.bwp-buy-note {display:none !important;}
.bwp-back-shop {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:44px !important;
  margin-top:16px !important;
  padding:0 14px !important;
  border:1px solid #dfdfdf !important;
  border-radius:14px !important;
  background:#f7f7f7 !important;
  color:#222 !important;
  text-decoration:none !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  transition:all .18s ease !important;
}
.bwp-back-shop:hover {
  background:#ededed !important;
  color:#111 !important;
  border-color:#d2d2d2 !important;
}

/* Related products live in left column under description */
.bwp-related-under-image {
  margin-top:12px !important;
  padding-top:0 !important;
}
.bwp-related-under-image > h2 {
  margin:0 0 10px !important;
  color:#111 !important;
  font-size:22px !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
}
.bwp-related-under-image ul.products {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 !important;
  width:100% !important;
}
.bwp-related-under-image ul.products li.product {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:9px !important;
  border:1px solid #e8e8e8 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.bwp-related-under-image ul.products li.product > a:first-child {
  display:block !important;
  padding:0 !important;
  margin:0 !important;
}
.bwp-related-under-image ul.products li.product a img {
  width:100% !important;
  margin:0 0 8px !important;
  border-radius:13px !important;
  aspect-ratio:1 / .88 !important;
  object-fit:cover !important;
  background:#f3f3f3 !important;
}
.bwp-related-under-image ul.products li.product .woocommerce-loop-product__title {
  margin:0 0 5px !important;
  padding:0 !important;
  color:#111 !important;
  font-size:13px !important;
  line-height:1.05 !important;
  letter-spacing:-.015em !important;
}
.bwp-related-under-image ul.products li.product .price {
  display:block !important;
  margin:0 !important;
  color:#333 !important;
  font-size:10px !important;
}
.bwp-related-under-image ul.products li.product .bwp-price-from {
  display:inline-grid !important;
  gap:1px !important;
  padding:5px 7px !important;
  border:1px solid #e8e8e8 !important;
  border-radius:9px !important;
  background:#f8f8f8 !important;
}
.bwp-related-under-image ul.products li.product .bwp-price-from strong {color:#111 !important;font-size:10px !important;line-height:1 !important;}
.bwp-related-under-image ul.products li.product .bwp-price-from small {color:#6d6d6d !important;font-size:7.5px !important;line-height:1 !important;}
.bwp-related-under-image ul.products li.product .button,
.bwp-related-under-image ul.products li.product .star-rating {display:none !important;}

@media(max-width:1100px){
  .single-product div.product {grid-template-columns:1fr !important;}
  .single-product form.cart,
  .bwp-order-box {max-width:none !important;}
  .bwp-related-under-image ul.products {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .single-product div.product {padding:11px !important;border-radius:22px !important;gap:14px !important;}
  .single-product .product_title.entry-title,
  .single-product .summary .product_title,
  .single-product .summary h1 {font-size:29px !important;}
  .bwp-order-breakdown,
  .bwp-action-row,
  .bwp-related-under-image ul.products {grid-template-columns:1fr !important;}
}


/* v2.2 fine-tuning */
.single-product .bwp-chip.is-soft{display:none!important;}

/* Wallpaper number: smaller, lighter, more premium */
.single-product .product_title.entry-title,
.single-product .summary .product_title,
.single-product .summary h1{
  font-size:clamp(25px,2.6vw,31px)!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
  line-height:1.04!important;
  margin-top:2px!important;
}

/* Order heading: lighter and more refined */
.bwp-order-head span{
  color:#8a8a8a!important;
  font-size:8.5px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}
.bwp-order-head strong{
  font-size:17px!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  line-height:1.12!important;
}
.bwp-order-head p{
  font-size:10.5px!important;
  color:#777!important;
}

/* Move total + purchase actions slightly lower to align better with related products */
.bwp-order-breakdown{
  margin-top:24px!important;
}
.bwp-action-row{
  margin-top:18px!important;
  gap:16px!important;
}
.bwp-buy-note{
  margin-top:3px!important;
}

/* Related Products heading: smaller, lighter, more editorial */
.bwp-related-under-image > h2,
.single-product .related > h2,
.single-product .up-sells > h2{
  font-size:19px!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  line-height:1.15!important;
  margin:0 0 12px!important;
  color:#222!important;
}

/* Related cards: keep them refined and balanced */
.bwp-related-under-image ul.products,
.single-product .related ul.products,
.single-product .up-sells ul.products{
  gap:11px!important;
}
.bwp-related-under-image ul.products li.product,
.single-product .related ul.products li.product,
.single-product .up-sells ul.products li.product{
  border-radius:18px!important;
  padding:9px!important;
}
.bwp-related-under-image ul.products li.product a img,
.single-product .related ul.products li.product a img,
.single-product .up-sells ul.products li.product a img{
  border-radius:13px!important;
  margin-bottom:9px!important;
}
.bwp-related-under-image ul.products li.product .woocommerce-loop-product__title,
.single-product .related ul.products li.product .woocommerce-loop-product__title,
.single-product .up-sells ul.products li.product .woocommerce-loop-product__title{
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.1!important;
}

/* Remove duplicate bottom WooCommerce description tab/panel */
.single-product .woocommerce-tabs .description_tab,
.single-product .woocommerce-tabs #tab-description,
.single-product #tab-description {display:none !important;}


/* v2.4 purchase actions separated from total */
.single-product form.cart{
  display:block!important;
  max-width:100%!important;
}
.bwp-order-box{
  max-width:100%!important;
}
.bwp-action-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:18px 0 0!important;
  padding:0!important;
  max-width:100%!important;
}
.single-product .single_add_to_cart_button,
.single-product .bwp-buy-now{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  border-radius:16px!important;
  padding:0 18px!important;
  font-size:11.5px!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
.single-product .single_add_to_cart_button{
  border:1.5px solid #111!important;
  background:#fff!important;
  color:#111!important;
}
.single-product .bwp-buy-now{
  border:1.5px solid #111!important;
  background:#111!important;
  color:#fff!important;
}
.bwp-buy-note{
  display:block!important;
  max-width:100%!important;
  margin:8px 0 0!important;
  padding:0 2px!important;
  color:#777!important;
  font-size:9.8px!important;
  line-height:1.4!important;
}

/* Related products: remove rate / made-to-measure badges entirely */
.bwp-related-under-image ul.products li.product .price,
.bwp-related-under-image ul.products li.product .bwp-price-from,
.single-product .related ul.products li.product .price,
.single-product .related ul.products li.product .bwp-price-from,
.single-product .up-sells ul.products li.product .price,
.single-product .up-sells ul.products li.product .bwp-price-from{
  display:none!important;
}

@media(max-width:700px){
  .bwp-action-row{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}

/* v2.5 spacing refinements */
.single-product .bwp-image-description { margin-bottom:22px !important; }
.single-product .bwp-image-description + .related,
.single-product .bwp-related-under-image { margin-top:22px !important; }
@media(max-width:760px){
  .single-product .product_title.entry-title,
  .single-product .summary .product_title,
  .single-product .summary h1 {font-size:24px !important;}
  .bwp-back-shop {margin-top:14px !important;}
}


/* v2.6 final spacing + typography refinement */
.single-product .product_title.entry-title,
.single-product div.product .summary .product_title,
.single-product div.product .summary h1.product_title,
.single-product div.product .summary h1 {
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.1 !important;
  letter-spacing:-.015em !important;
  margin:2px 0 8px !important;
}

.bwp-back-shop {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:48px !important;
  margin-top:32px !important;
  padding:0 18px !important;
  border:1.5px solid #111 !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#111 !important;
  text-decoration:none !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}
.bwp-back-shop:hover {
  background:#f5f5f5 !important;
  color:#111 !important;
  border-color:#111 !important;
}

@media(max-width:760px){
  .single-product .product_title.entry-title,
  .single-product div.product .summary .product_title,
  .single-product div.product .summary h1.product_title,
  .single-product div.product .summary h1 {font-size:18px !important;}
  .bwp-back-shop {margin-top:24px !important;}
}


/* v2.7 Back to Shop positioning */
@media (min-width:1101px){
  .bwp-back-shop{
    width:220px !important;
    min-height:46px !important;
    margin:118px auto 0 !important;
    padding:0 20px !important;
    border:1.5px solid #111 !important;
    border-radius:14px !important;
    background:#fff !important;
    color:#111 !important;
    font-size:11px !important;
    letter-spacing:.07em !important;
  }
}
@media (max-width:1100px){
  .bwp-back-shop{
    width:220px !important;
    max-width:100% !important;
    margin:34px auto 0 !important;
  }
}


/* v2.16 hardening: force the custom single-product layout to win theme cascade */
body.single-product div.product {
  display:grid !important;
}
body.single-product div.product div.images,
body.single-product div.product div.summary {
  float:none !important;
}
body.single-product .woocommerce-product-details__short-description {
  display:none !important;
}
body.single-product .bwp-image-description .woocommerce-product-details__short-description {
  display:block !important;
}
body.single-product .woocommerce-tabs {
  display:none !important;
}
body.single-product .related,
body.single-product .up-sells {
  display:block !important;
}
