/* 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;
  }
}


/* =========================================================
   BESPOKE PREMIUM CHECKOUT v2.8
   Matches the individual wallpaper product experience
   ========================================================= */
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .page-title-bar,
body.woocommerce-checkout .page-header-wrap,
body.woocommerce-checkout .site-page-header,
body.woocommerce-checkout .fl-page-header,
body.woocommerce-checkout .titlebar,
body.woocommerce-checkout .hero-banner,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout #secondary,
body.woocommerce-checkout aside.sidebar,
body.woocommerce-checkout .sidebar-primary,
body.woocommerce-checkout .widget-area,
body.woocommerce-checkout .site-main .sidebar,
body.woocommerce-checkout .content-sidebar-wrap > aside {
  display:none !important;
}

body.woocommerce-checkout,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content {
  background:#fff !important;
}

body.woocommerce-checkout .content-area,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .content-sidebar-wrap,
body.woocommerce-checkout .content-sidebar-wrap .content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .fl-content,
body.woocommerce-checkout .ast-woocommerce-container,
body.woocommerce-checkout .woocommerce-container,
body.woocommerce-checkout .entry-content {
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .site-main {
  padding-top:18px !important;
}

.bwp-checkout-intro {
  position:relative;
  display:grid;
  gap:7px;
  margin:0 0 18px !important;
  padding:24px 26px !important;
  border:1px solid #e8e8e8;
  border-radius:26px;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.025);
}
.bwp-checkout-eyebrow {
  color:#777;
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.bwp-checkout-intro h1 {
  margin:0 !important;
  color:#111 !important;
  font-size:clamp(30px,3vw,42px) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  font-weight:500 !important;
}
.bwp-checkout-intro p {
  max-width:760px;
  margin:0 !important;
  color:#5d5d5d !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
.bwp-checkout-shop-link {
  display:inline-flex;
  width:max-content;
  margin-top:5px;
  color:#111 !important;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none !important;
}

/* WooCommerce Blocks checkout */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
  margin:0 !important;
  padding:0 !important;
}
body.woocommerce-checkout .wc-block-checkout {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 370px !important;
  gap:22px !important;
  align-items:start !important;
}
body.woocommerce-checkout .wc-block-checkout__main {
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar {
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  position:sticky !important;
  top:18px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step {
  margin:0 0 12px !important;
  padding:18px !important;
  border:1px solid #e8e8e8 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 7px 20px rgba(0,0,0,.02) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-bottom:14px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
  color:#111 !important;
  font-size:22px !important;
  line-height:1.1 !important;
  letter-spacing:-.025em !important;
  font-weight:500 !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__description {
  color:#6a6a6a !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

body.woocommerce-checkout .wc-block-components-text-input input[type=email],
body.woocommerce-checkout .wc-block-components-text-input input[type=text],
body.woocommerce-checkout .wc-block-components-text-input input[type=tel],
body.woocommerce-checkout .wc-block-components-text-input input[type=number],
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  min-height:50px !important;
  border:1px solid #d8d8d8 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#111 !important;
  box-shadow:none !important;
  font-size:14px !important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label {
  color:#6a6a6a !important;
  font-size:11px !important;
}
body.woocommerce-checkout input:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
  outline:none !important;
  border-color:#111 !important;
  box-shadow:0 0 0 3px rgba(17,17,17,.05) !important;
}

/* Shipping + payment options */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  border-radius:14px !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-radio-control__option {
  border:1px solid #e8e8e8 !important;
  background:#fafafa !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-radio-control__option-checked {
  border-color:#111 !important;
  background:#fff !important;
}

/* Order summary */
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar > div,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  border:1px solid #e8e8e8 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(0,0,0,.025) !important;
}
body.woocommerce-checkout .wc-block-components-sidebar {
  padding:18px !important;
}
body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-components-totals-wrapper h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block h2 {
  color:#111 !important;
  font-size:21px !important;
  letter-spacing:-.025em !important;
  font-weight:500 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item {
  padding:14px 0 !important;
  border-bottom:1px solid #eeeeee !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  border-radius:12px !important;
  background:#f4f4f4 !important;
}
body.woocommerce-checkout .wc-block-components-product-name {
  color:#111 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}
body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-product-details__value {
  color:#666 !important;
  font-size:10.5px !important;
  line-height:1.4 !important;
}
body.woocommerce-checkout .wc-block-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-product-price,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item-tax-value {
  color:#111 !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item {
  margin-top:8px !important;
  padding-top:14px !important;
  border-top:1px solid #e7e7e7 !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color:#111 !important;
  font-size:18px !important;
  font-weight:800 !important;
}

/* Coupon */
body.woocommerce-checkout .wc-block-components-totals-coupon__input input {
  min-height:44px !important;
  border-radius:13px !important;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
  min-height:44px !important;
  border:1.5px solid #111 !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#111 !important;
  font-weight:800 !important;
}

/* Place order */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order {
  width:100% !important;
  min-height:54px !important;
  border:1.5px solid #111 !important;
  border-radius:14px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover {
  background:#000 !important;
  border-color:#000 !important;
}

body.woocommerce-checkout .wc-block-checkout__actions {
  margin-top:12px !important;
  padding:14px !important;
  border:1px solid #e8e8e8 !important;
  border-radius:18px !important;
  background:#fff !important;
}

/* Classic checkout fallback */
body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 370px !important;
  gap:22px !important;
  align-items:start !important;
}
body.woocommerce-checkout #customer_details {
  width:auto !important;
  float:none !important;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
  width:100% !important;
  float:none !important;
  margin:0 0 12px !important;
  padding:18px !important;
  border:1px solid #e8e8e8 !important;
  border-radius:22px !important;
  background:#fff !important;
}
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
  width:auto !important;
  float:none !important;
}
body.woocommerce-checkout #order_review {
  position:sticky !important;
  top:18px !important;
  padding:18px !important;
  border:1px solid #e8e8e8 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(0,0,0,.025) !important;
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout #order_review_heading {
  color:#111 !important;
  font-size:22px !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
}
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height:50px !important;
  border:1px solid #d8d8d8 !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height:48px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border:0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding:11px 0 !important;
  border-color:#eeeeee !important;
  color:#333 !important;
}

@media(max-width: 900px) {
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns:1fr !important;
  }
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout #order_review {
    position:relative !important;
    top:0 !important;
  }
}

@media(max-width: 620px) {
  .bwp-checkout-intro {
    padding:20px !important;
    border-radius:22px !important;
  }
  .bwp-checkout-intro h1 {
    font-size:30px !important;
  }
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout #customer_details .col-1,
  body.woocommerce-checkout #customer_details .col-2,
  body.woocommerce-checkout #order_review {
    padding:14px !important;
    border-radius:18px !important;
  }
}


/* Checkout refinements v2.9 */
.bwp-checkout-intro h1 {
  font-size:clamp(24px,2.25vw,32px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  font-weight:500 !important;
}

/* Place Order now matches the white/black-border Add to Basket style */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order {
  background:#fff !important;
  color:#111 !important;
  border:1.5px solid #111 !important;
  border-radius:999px !important;
  min-height:54px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover {
  background:#f6f6f6 !important;
  color:#111 !important;
  border-color:#111 !important;
}

/* Give floating select labels room above the selected country/province value */
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-address-form__country,
body.woocommerce-checkout .wc-block-components-address-form__state {
  position:relative !important;
}
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.woocommerce-checkout .wc-block-components-address-form__country input,
body.woocommerce-checkout .wc-block-components-address-form__state input,
body.woocommerce-checkout .wc-block-components-address-form__country select,
body.woocommerce-checkout .wc-block-components-address-form__state select {
  min-height:58px !important;
  padding-top:22px !important;
  padding-bottom:8px !important;
  line-height:1.2 !important;
}
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
body.woocommerce-checkout .wc-block-components-address-form__country label,
body.woocommerce-checkout .wc-block-components-address-form__state label {
  top:8px !important;
  transform:none !important;
  line-height:1 !important;
  font-size:10px !important;
  color:#737373 !important;
}

/* Classic checkout select spacing fallback */
body.woocommerce-checkout .form-row label {
  margin-bottom:7px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height:56px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height:1.2 !important;
  padding-top:24px !important;
  padding-bottom:8px !important;
}

@media(max-width:620px){
  .bwp-checkout-intro h1{font-size:26px !important;}
}


/* Checkout action refinements v2.10 */
/* Smaller, centered Place Order */
body.woocommerce-checkout .wc-block-checkout__actions {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  padding:12px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order {
  width:min(100%, 310px) !important;
  min-height:48px !important;
  padding:0 24px !important;
  margin:0 auto !important;
  border:1.5px solid #111 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

/* Make the checkout Total look like the same white / black-border pill */
body.woocommerce-checkout .wc-block-components-totals-footer-item {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  width:calc(100% - 24px) !important;
  box-sizing:border-box !important;
  margin:14px 12px 12px !important;
  padding:14px 20px !important;
  border:1.5px solid #111 !important;
  border-radius:999px !important;
  background:#fff !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  margin:0 !important;
  padding:0 !important;
  color:#111 !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
}

/* Classic checkout fallback */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
  background:#fff !important;
  border-top:1.5px solid #111 !important;
  border-bottom:1.5px solid #111 !important;
  padding:14px 18px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th {
  border-left:1.5px solid #111 !important;
  border-radius:999px 0 0 999px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
  border-right:1.5px solid #111 !important;
  border-radius:0 999px 999px 0 !important;
  color:#111 !important;
  font-size:16px !important;
  font-weight:800 !important;
}

@media(max-width:620px){
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  body.woocommerce-checkout button.wc-block-components-checkout-place-order-button,
  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout button#place_order {
    width:100% !important;
  }
  body.woocommerce-checkout .wc-block-components-totals-footer-item {
    width:calc(100% - 16px) !important;
    margin:12px 8px 8px !important;
    padding:13px 16px !important;
  }
  body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size:14px !important;
  }
}


/* v2.11 - Smaller compact checkout Total pill */
body.woocommerce-checkout .wc-block-components-totals-footer-item {
  width:min(calc(100% - 24px), 300px) !important;
  min-height:46px !important;
  margin:14px auto 12px !important;
  padding:10px 16px !important;
  gap:12px !important;
}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size:14px !important;
  line-height:1.1 !important;
}

/* Classic checkout: make total row visually more compact */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
  padding:10px 14px !important;
  font-size:14px !important;
}

@media(max-width:620px){
  body.woocommerce-checkout .wc-block-components-totals-footer-item {
    width:min(calc(100% - 16px), 280px) !important;
    min-height:44px !important;
    margin:12px auto 8px !important;
    padding:9px 14px !important;
  }
  body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size:13px !important;
  }
}


/* v2.12 - smaller Shipping options and Payment options headings */
body.woocommerce-checkout .wc-block-checkout__shipping-method-option .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-checkout__shipping-method-option .wc-block-components-title,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-title,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-title,
body.woocommerce-checkout [class*="shipping-method"] .wc-block-components-checkout-step__title,
body.woocommerce-checkout [class*="payment-method"] .wc-block-components-checkout-step__title {
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
  letter-spacing:-0.02em !important;
}


/* v2.13 - final smaller checkout section headings */
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__heading h2,
body.woocommerce-checkout .wc-block-components-checkout-step__heading h3,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block h3,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block h3 {
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
  letter-spacing:-0.015em !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-bottom:10px !important;
}

/* Classic checkout fallback */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #payment h3 {
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
}


/* v2.14 - force smaller shipping/payment headings + compact order summary */
body.woocommerce-checkout .bwp-checkout-option-heading {
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
  letter-spacing:-.015em !important;
  margin-bottom:10px !important;
}
body.woocommerce-checkout .bwp-order-summary-heading {
  font-size:15px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
  letter-spacing:-.015em !important;
  margin-bottom:8px !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
  font-size:12.5px !important;
}
body.woocommerce-checkout .wc-block-components-sidebar {
  padding:14px !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item {
  padding:10px 0 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  width:54px !important;
  min-width:54px !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width:54px !important;
  height:54px !important;
  object-fit:cover !important;
}
body.woocommerce-checkout .wc-block-components-product-name {
  font-size:12px !important;
}
body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-product-details__value {
  font-size:9.5px !important;
  line-height:1.35 !important;
}


/* v2.15 - order summary more horizontal and smaller */
body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-components-totals-wrapper h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block h2 {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}

body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar > div,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  padding: 14px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 56px minmax(0,1fr) auto !important;
  grid-template-areas: "img details price" !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  align-items: start !important;
  padding: 12px 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: img !important;
  width: 56px !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  transform: scale(.86) !important;
  transform-origin: top left !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details__value {
  grid-area: details !important;
  margin: 0 !important;
  max-width: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details__name {
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details__value {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  color: #666 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-price {
  grid-area: price !important;
  align-self: start !important;
  justify-self: end !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  color: #111 !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item > * {
  min-width: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item + .wc-block-components-order-summary-item {
  border-top: 1px solid #efefef !important;
}

body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 12px !important;
}

@media (max-width: 782px) {
  body.woocommerce-checkout .wc-block-components-order-summary-item {
    grid-template-columns: 50px minmax(0,1fr) auto !important;
    column-gap: 10px !important;
  }
  body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 50px !important;
    height: 50px !important;
  }
}
