/*
Theme Name: KUBE Minimal
Theme URI: https://kube.ma
Author: KUBE
Description: Theme WordPress WooCommerce minimaliste pour KUBE, entierement harmonise dans une palette beige chaude inspiree de votre visuel Instagram.
Version: 3.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kube-ma
*/

:root{
  --kube-orange:#d6b694;
  --kube-orange-dark:#b8926e;
  --kube-orange-light:#f4e7db;
  --kube-black:#2e241d;
  --kube-white:#fffdf9;
  --kube-gray:#f7f2ec;
  --kube-muted:#7d6d61;
  --kube-border:#e6d9cc;
  --page-width:1200px;
}

*{box-sizing:border-box}
html{font-size:62.5%;scroll-behavior:smooth}
body{
  margin:0;
  color:rgba(46,36,29,.82);
  background:var(--kube-white);
  font-family:Inter,Arial,sans-serif;
  font-size:1.6rem;
  line-height:1.8;
  letter-spacing:.04rem;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

.kube-container{
  width:min(calc(100% - 4rem),var(--page-width));
  margin-inline:auto;
}

/* Announcement */
.kube-announcement{
  background:var(--kube-black);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.15);
  min-height:3.8rem;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.6rem 1.5rem;
  font-size:1.25rem;
  letter-spacing:.08rem;
}
.kube-announcement p{margin:0}

/* Header */
.kube-header-wrap{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--kube-orange);
  color:var(--kube-black);
  transition:transform .25s ease,box-shadow .25s ease;
}
.kube-header-wrap.is-hidden{transform:translateY(-100%)}
.kube-header-wrap.has-shadow{box-shadow:0 .8rem 2.5rem rgba(0,0,0,.11)}

.kube-header{
  min-height:9.2rem;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:2.4rem 3rem 1.2rem;
  max-width:1200px;
  margin:0 auto;
}
.kube-header-left,.kube-header-right{display:flex;align-items:center;gap:.5rem}
.kube-header-right{justify-content:flex-end}
.kube-logo{
  justify-self:center;
  font-size:2.8rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.32rem;
  color:var(--kube-black);
}
.kube-logo .dot{opacity:.7}

.kube-icon-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--kube-black);
  width:4.4rem;
  height:4.4rem;
  padding:1rem;
  display:grid;
  place-items:center;
  position:relative;
}
.kube-icon-btn svg{width:2.3rem;height:2.3rem;fill:none;stroke:currentColor;stroke-width:1.6}
.kube-cart-count{
  position:absolute;
  right:.3rem;
  top:.3rem;
  min-width:1.8rem;height:1.8rem;
  border-radius:99px;
  background:var(--kube-black);
  color:#fff;
  display:grid;place-items:center;
  font-size:.95rem;font-weight:700;
  padding:0 .45rem;
}
.kube-menu-toggle{display:none}

/* Search panel */
.kube-search-panel{
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(18,18,18,.48);
  opacity:0;
  visibility:hidden;
  transition:.2s ease;
}
.kube-search-panel.open{opacity:1;visibility:visible}
.kube-search-box{
  background:var(--kube-white);
  padding:3.5rem 2rem;
  transform:translateY(-3rem);
  transition:.25s ease;
}
.kube-search-panel.open .kube-search-box{transform:none}
.kube-search-inner{
  max-width:74rem;
  margin:auto;
  display:flex;
  gap:1rem;
  align-items:center;
}
.kube-search-inner form{display:flex;flex:1;gap:1rem}
.kube-search-inner input{
  flex:1;
  border:1px solid var(--kube-black);
  padding:1.3rem 1.6rem;
  background:var(--kube-white);
  outline:0;
}
.kube-search-inner button{
  border:1px solid var(--kube-black);
  background:var(--kube-black);
  color:#fff;
  padding:1.3rem 2rem;
}
.kube-search-close{
  background:transparent!important;
  color:var(--kube-black)!important;
  font-size:2.5rem;
  padding:.5rem 1rem!important;
  border:0!important;
}

/* Main */
.site-main{min-height:50vh}
.kube-products-home{padding:0 0 3.6rem}
.kube-products-grid{
  width:min(calc(100% - 4rem),var(--page-width));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.6rem;
}
.kube-product-card{
  min-width:0;
  color:var(--kube-black);
}
.kube-product-media{
  position:relative;
  overflow:hidden;
  background:var(--kube-gray);
  aspect-ratio:4/5;
}
.kube-product-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .35s ease,transform .35s ease;
}
.kube-product-media img.kube-hover{
  position:absolute;inset:0;
  opacity:0;
}
.kube-product-card:hover .kube-product-media img:first-of-type{transform:scale(1.015)}
.kube-product-card:hover .kube-product-media img.kube-hover{opacity:1;transform:scale(1.015)}
.kube-sale-badge{
  position:absolute;
  top:1.2rem;right:1.2rem;
  background:var(--kube-orange);
  color:#fff;
  border-radius:.4rem;
  padding:.45rem .9rem;
  font-size:1.15rem;
  line-height:1.4;
  z-index:3;
}
.kube-product-info{padding:1.25rem 0 0}
.kube-product-title{
  font-size:1.35rem;
  font-weight:400;
  letter-spacing:.04rem;
  margin:0 0 .5rem;
}
.kube-price{
  font-size:1.35rem;
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
}
.kube-price del{color:#888}
.kube-price ins{text-decoration:none}

/* Empty / intro */
.kube-empty{
  width:min(calc(100% - 4rem),var(--page-width));
  margin:5rem auto;
  padding:4rem;
  background:var(--kube-gray);
  text-align:center;
}
.kube-empty h2{font-size:3rem;margin:.5rem 0 1rem}
.kube-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:4.8rem;
  padding:1.1rem 2.2rem;
  border:1px solid var(--kube-orange);
  background:var(--kube-orange);
  color:#fff;
  border-radius:.4rem;
  font-size:1.35rem;
  transition:.2s;
}
.kube-btn:hover{background:var(--kube-orange-dark);border-color:var(--kube-orange-dark)}


/* Footer */
.kube-footer{
  border-top:1px solid var(--kube-border);
  background:var(--kube-white);
  padding:6.4rem 0 3.2rem;
}

.kube-footer-top{
  display:grid;
  grid-template-columns:1.45fr .9fr 1fr;
  gap:5rem;
  align-items:start;
}

.kube-footer-brand{
  max-width:30rem;
}

.kube-footer-logo{
  display:inline-block;
  color:var(--kube-black);
  font-size:2.4rem;
  line-height:1;
  letter-spacing:.28rem;
  font-weight:700;
  margin-bottom:1.8rem;
}

.kube-footer-tagline,
.kube-footer-social-text{
  margin:0;
  color:#6b6b6b;
  font-size:1.35rem;
  line-height:1.75;
}

.kube-footer h3{
  margin:0 0 1.6rem;
  color:var(--kube-black);
  font-size:1.3rem;
  font-weight:600;
  letter-spacing:.02rem;
}

.kube-footer-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.9rem;
}

.kube-footer-links a{
  position:relative;
  color:#666;
  font-size:1.3rem;
  line-height:1.5;
  transition:color .2s ease;
}

.kube-footer-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-.2rem;
  height:1px;
  background:var(--kube-orange);
  transition:right .2s ease;
}

.kube-footer-links a:hover{
  color:var(--kube-black);
}

.kube-footer-links a:hover::after{
  right:0;
}

.kube-footer-social-text{
  max-width:22rem;
  margin-bottom:1.5rem;
}

.kube-socials{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

.kube-socials a{
  width:4rem;
  height:4rem;
  display:grid;
  place-items:center;
  border:1px solid var(--kube-border);
  border-radius:50%;
  color:var(--kube-black);
  background:var(--kube-white);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.kube-socials a:hover{
  background:var(--kube-orange);
  border-color:var(--kube-orange);
  color:#fff;
  transform:translateY(-2px);
}

.kube-socials svg{
  width:1.75rem;
  height:1.75rem;
  fill:currentColor;
}

.kube-footer-bottom{
  border-top:1px solid var(--kube-border);
  margin-top:5.2rem;
  padding-top:2.3rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  color:#777;
  font-size:1.2rem;
  line-height:1.5;
}

/* Footer tablet */
@media(max-width:989px){
  .kube-footer{
    padding-top:5rem;
  }
  .kube-footer-top{
    grid-template-columns:1.2fr 1fr;
    gap:4rem 3rem;
  }
  .kube-footer-brand{
    max-width:34rem;
  }
}

/* Footer mobile */
@media(max-width:749px){
  .kube-footer{
    padding:4.4rem 0 2.6rem;
  }
  .kube-footer-top{
    grid-template-columns:1fr;
    gap:3.2rem;
  }
  .kube-footer-brand{
    max-width:none;
  }
  .kube-footer-logo{
    font-size:2.2rem;
    margin-bottom:1.4rem;
  }
  .kube-footer-tagline,
  .kube-footer-social-text{
    font-size:1.3rem;
  }
  .kube-footer h3{
    margin-bottom:1.2rem;
  }
  .kube-footer-links{
    gap:.75rem;
  }
  .kube-footer-bottom{
    margin-top:3.8rem;
    padding-top:2rem;
    flex-direction:column;
    align-items:flex-start;
    gap:.6rem;
  }
}

/* WooCommerce general */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-breadcrumb{
  font-size:1.25rem;
}
.woocommerce-page .site-main,
.woocommerce .site-main{
  width:min(calc(100% - 4rem),var(--page-width));
  margin:4rem auto;
}
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.6rem!important;
  margin:0!important;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
}
.woocommerce ul.products li.product a img{
  aspect-ratio:4/5;
  object-fit:cover;
  background:var(--kube-gray);
  margin-bottom:1.2rem!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1.35rem!important;
  font-weight:400;
  padding:.2rem 0!important;
}
.woocommerce ul.products li.product .price{
  color:var(--kube-black)!important;
  font-size:1.35rem!important;
}
.woocommerce span.onsale{
  background:var(--kube-orange)!important;
  color:#fff!important;
  min-height:auto!important;
  min-width:auto!important;
  line-height:1.4!important;
  padding:.45rem .9rem!important;
  border-radius:.4rem!important;
  font-size:1.1rem!important;
  top:1.2rem!important;right:1.2rem!important;left:auto!important;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--kube-orange)!important;
  color:#fff!important;
  border-radius:.4rem!important;
  font-weight:500!important;
  padding:1.2rem 1.8rem!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover{background:var(--kube-orange-dark)!important}

.woocommerce div.product{
  width:min(calc(100% - 4rem),var(--page-width));
  margin:4rem auto 6rem;
}
.woocommerce div.product .product_title{
  font-size:3.6rem;
  font-weight:400;
  color:var(--kube-black);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--kube-black)!important;
  font-size:1.8rem!important;
}
.woocommerce div.product form.cart .button{
  min-height:4.8rem;
}
.woocommerce div.product div.images img{background:var(--kube-gray)}
.woocommerce-message,.woocommerce-info{
  border-top-color:var(--kube-orange)!important;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--kube-orange)!important}

/* COD-like checkout styling */
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea{
  border:1px solid #f2b36f!important;
  background:var(--kube-orange-light)!important;
  border-radius:2.4rem!important;
  padding:1.35rem 1.6rem!important;
}
.woocommerce-checkout h3{
  color:#7c4310;
}
#place_order{
  background:var(--kube-orange)!important;
  border-radius:5rem!important;
  width:100%;
  min-height:5rem;
}

/* Page/post fallback */
.kube-content{
  width:min(calc(100% - 4rem),var(--page-width));
  margin:4rem auto 7rem;
}
.kube-content h1{font-size:3.5rem;color:var(--kube-black);font-weight:400}

/* Responsive */
@media(max-width:989px){
  .kube-header{padding:1.6rem 2rem;min-height:7rem}
  .kube-logo{font-size:2.3rem}
  .kube-products-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:749px){
  body{font-size:1.5rem}
  .kube-container,.kube-products-grid,.kube-content,
  .woocommerce-page .site-main,.woocommerce .site-main,
  .woocommerce div.product{width:min(calc(100% - 3rem),var(--page-width))}
  .kube-header{grid-template-columns:1fr auto 1fr;padding:1.2rem 1rem}
  .kube-logo{font-size:2rem;letter-spacing:.22rem}
  .kube-icon-btn{width:4rem;height:4rem}
  .kube-products-grid,.woocommerce ul.products{gap:.8rem}
  .kube-product-title,.kube-price,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price{font-size:1.2rem!important}
  .kube-sale-badge,.woocommerce span.onsale{font-size:1rem!important;top:.7rem!important;right:.7rem!important}
}


/* =========================================================
   KUBE PRODUCT PAGE — native WooCommerce, responsive
   ========================================================= */
.single-product .site-main{
  width:min(calc(100% - 4rem), 1180px);
  margin:4rem auto 8rem;
}

.single-product div.product{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(36rem,.85fr);
  gap:4rem;
  align-items:start;
}

.single-product div.product .woocommerce-product-gallery{
  width:100%!important;
  float:none!important;
  margin:0!important;
}

.single-product div.product .summary{
  width:100%!important;
  float:none!important;
  margin:0!important;
  min-width:0;
}

.single-product .woocommerce-product-gallery__wrapper{
  margin:0!important;
}

.single-product .woocommerce-product-gallery__image{
  background:#f4f2ef;
  overflow:hidden;
}

.single-product .woocommerce-product-gallery__image img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}

.single-product .flex-control-thumbs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.2rem;
  margin:1.2rem 0 0!important;
  padding:0!important;
  list-style:none!important;
}

.single-product .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  margin:0!important;
  cursor:pointer;
  background:#f4f2ef;
  overflow:hidden;
}

.single-product .flex-control-thumbs img{
  width:100%!important;
  aspect-ratio:1/1;
  object-fit:cover;
  opacity:1!important;
  transition:opacity .2s ease, transform .2s ease;
}

.single-product .flex-control-thumbs img:hover{transform:scale(1.015)}
.single-product .flex-control-thumbs img.flex-active{opacity:.72!important}

.single-product .summary .product_title{
  margin:0 0 1.4rem!important;
  font-size:4.6rem!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  font-weight:400!important;
  text-transform:uppercase;
  color:#151515;
}

.single-product .summary p.price,
.single-product .summary .price{
  margin:0 0 2.2rem!important;
  color:#151515!important;
  font-size:2rem!important;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.9rem;
}

.single-product .summary .price del{
  color:#777!important;
  opacity:1!important;
  font-size:1.4rem;
}

.single-product .summary .price ins{
  text-decoration:none!important;
  font-weight:500!important;
  color:#151515!important;
}

.single-product .onsale{
  min-height:0!important;
  min-width:0!important;
  line-height:1!important;
  padding:.7rem 1rem!important;
  border-radius:.4rem!important;
  background:var(--kube-orange)!important;
  color:#fff!important;
  font-size:1.1rem!important;
  font-weight:600!important;
  top:1.2rem!important;
  left:1.2rem!important;
  right:auto!important;
}

.single-product form.cart{
  margin:0!important;
}

.single-product form.variations_form .variations{
  width:100%!important;
  margin:0 0 1.4rem!important;
  border:0!important;
}

.single-product form.variations_form .variations tbody,
.single-product form.variations_form .variations tr,
.single-product form.variations_form .variations th,
.single-product form.variations_form .variations td{
  display:block!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
}

.single-product form.variations_form .variations th.label label{
  display:block;
  margin:0 0 .8rem;
  font-size:1.25rem;
  font-weight:500;
  color:#555;
}

.kube-color-control{
  width:100%;
  position:relative;
}

.kube-native-select select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  padding:0!important;
  margin:-1px!important;
}

.kube-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:1.1rem;
  padding:.2rem .2rem .4rem;
  margin:0 0 .8rem;
}

.kube-swatch{
  width:3.8rem;
  height:3.8rem;
  border-radius:50%;
  border:1px solid #c9c9c9;
  background:var(--kube-white);
  padding:.35rem;
  display:inline-grid;
  place-items:center;
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.kube-swatch::before{
  content:"";
  width:100%;
  height:100%;
  border-radius:50%;
  background:var(--swatch-color,#ddd);
  display:block;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}

.kube-swatch > span{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.kube-swatch:hover{transform:scale(1.06)}
.kube-swatch.is-selected{
  border-color:#111;
  box-shadow:0 0 0 2px #fff, 0 0 0 3px #111;
}
.kube-swatch.is-disabled,
.kube-swatch:disabled{
  opacity:.25;
  cursor:not-allowed;
}

.kube-selected-color{
  min-height:2rem;
  margin:0 0 1rem;
  color:#555;
  font-size:1.25rem;
}

.single-product .reset_variations{
  display:inline-block!important;
  margin:.2rem 0 1rem!important;
  color:#777!important;
  font-size:1.2rem!important;
}

.single-product .single_variation_wrap{
  margin-top:.6rem;
}

.single-product .woocommerce-variation-price{
  margin:0 0 1rem;
}

.single-product .woocommerce-variation-availability{
  margin:0 0 1rem;
  font-size:1.3rem;
}

.single-product .woocommerce-variation-add-to-cart{
  display:grid!important;
  grid-template-columns:12rem 1fr;
  gap:1.2rem;
  align-items:end;
}

.single-product .quantity{
  float:none!important;
  margin:0!important;
}

.single-product .quantity::before{
  content:"Quantité";
  display:block;
  margin:0 0 .7rem;
  font-size:1.25rem;
  color:#555;
}

.single-product .quantity .qty{
  width:100%!important;
  min-height:4.8rem;
  border:1px solid #b8b8b8;
  border-radius:.4rem;
  background:var(--kube-white);
  text-align:center;
}

.single-product .single_add_to_cart_button{
  width:100%!important;
  min-height:4.8rem!important;
  margin:0!important;
  border-radius:.4rem!important;
  border:1px solid #151515!important;
  background:#fff!important;
  color:#151515!important;
  font-weight:500!important;
  box-shadow:none!important;
}

.single-product .single_add_to_cart_button:hover{
  background:#151515!important;
  color:#fff!important;
}

.single-product .kube-buy-now{
  grid-column:1/-1;
  width:100%;
  min-height:5rem;
  margin:0!important;
  border:0!important;
  border-radius:.4rem!important;
  background:var(--kube-orange)!important;
  color:#fff!important;
  font-weight:600!important;
  box-shadow:none!important;
}

.single-product .kube-buy-now:hover{
  background:var(--kube-orange-dark)!important;
}

.single-product .kube-buy-now:disabled,
.single-product .kube-buy-now.disabled,
.single-product .single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button.disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
}

.kube-product-description{
  margin-top:2.8rem;
  color:#5f5f5f;
  font-size:1.55rem;
  line-height:1.85;
}

.kube-product-description p{
  margin:0 0 1.5rem;
}

.kube-product-description strong{
  color:#3d3d3d;
}

.kube-product-specs{
  margin-top:2.8rem;
}

.kube-product-specs h2{
  margin:0 0 1.5rem;
  color:#171717;
  font-size:2.7rem;
  line-height:1.15;
  font-weight:400;
}

.kube-spec-row{
  display:grid;
  grid-template-columns:15rem 1fr;
  gap:1.2rem;
  padding:.9rem 0;
  border-bottom:1px solid #e7e7e7;
  font-size:1.4rem;
}

.kube-spec-row strong{
  color:#4a4a4a;
  font-weight:600;
}

.kube-spec-row span{
  color:#666;
}

.single-product .product_meta{
  display:none!important;
}

.single-product .related.products{
  grid-column:1/-1;
  width:100%;
  margin-top:7rem;
}

.single-product .related.products > h2{
  font-size:2.6rem;
  font-weight:400;
  color:#171717;
}

.single-product .related.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.6rem;
}


/* Tablet */
@media (max-width: 980px){
  .single-product .site-main{
    width:min(calc(100% - 3rem), 1180px);
    margin-top:2.4rem;
  }

  .single-product div.product{
    grid-template-columns:minmax(0,1fr) minmax(30rem,.9fr);
    gap:2.6rem;
  }

  .single-product .summary .product_title{
    font-size:3.6rem!important;
  }

  .kube-product-description{
    font-size:1.45rem;
  }
}


/* Mobile */
@media (max-width: 767px){
  .single-product .site-main{
    width:100%;
    margin:0 auto 5rem;
  }

  .single-product div.product{
    display:block;
  }

  .single-product div.product .woocommerce-product-gallery{
    width:100%!important;
    margin:0!important;
  }

  .single-product .woocommerce-product-gallery__image img{
    aspect-ratio:1/1.18;
  }

  .single-product .flex-control-thumbs{
    display:flex!important;
    gap:.8rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:0 1.5rem 1rem!important;
    margin:.9rem 0 0!important;
    scrollbar-width:none;
  }

  .single-product .flex-control-thumbs::-webkit-scrollbar{display:none}

  .single-product .flex-control-thumbs li{
    flex:0 0 24%;
    scroll-snap-align:start;
  }

  .single-product div.product .summary{
    width:auto!important;
    margin:2.2rem 1.6rem 0!important;
  }

  .single-product .summary .product_title{
    font-size:3rem!important;
    line-height:1.08!important;
    margin-bottom:1rem!important;
  }

  .single-product .summary p.price,
  .single-product .summary .price{
    font-size:1.8rem!important;
    margin-bottom:1.8rem!important;
  }

  .kube-swatches{
    gap:1rem;
    margin-bottom:.7rem;
  }

  .kube-swatch{
    width:4rem;
    height:4rem;
  }

  .single-product .woocommerce-variation-add-to-cart,
  .single-product form.cart:not(.variations_form){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1rem!important;
  }

  .single-product .quantity{
    width:12rem!important;
  }

  .single-product .single_add_to_cart_button,
  .single-product .kube-buy-now{
    width:100%!important;
    min-height:5.2rem!important;
  }

  .kube-product-description{
    margin-top:2.3rem;
    font-size:1.5rem;
    line-height:1.8;
  }

  .kube-product-specs{
    margin-top:2.5rem;
  }

  .kube-product-specs h2{
    font-size:2.3rem;
  }

  .kube-spec-row{
    grid-template-columns:1fr;
    gap:.3rem;
  }

  .single-product .related.products{
    margin:5rem 1.6rem 0;
    width:auto;
  }

  .single-product .related.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
  }
}


/* Small phones */
@media (max-width: 420px){
  .single-product .summary .product_title{
    font-size:2.7rem!important;
  }

  .single-product .flex-control-thumbs li{
    flex-basis:30%;
  }

  .kube-swatch{
    width:3.8rem;
    height:3.8rem;
  }
}


/* Color selection: keep gallery visible when scrolling back on mobile */
@media (max-width: 767px){
  .single-product .woocommerce-product-gallery{
    scroll-margin-top: 1rem;
  }
}


/* =========================================================
   SIMPLE PRODUCT — same visual organization as variable product
   ========================================================= */
.single-product .summary form.cart:not(.variations_form){
  display:grid!important;
  grid-template-columns:12rem 1fr!important;
  gap:1.2rem!important;
  align-items:end!important;
  margin:0!important;
}

.single-product .summary form.cart:not(.variations_form) .quantity{
  width:100%!important;
  margin:0!important;
}

.single-product .summary form.cart:not(.variations_form) .quantity::before{
  content:"Quantité";
  display:block;
  margin:0 0 .7rem;
  font-size:1.25rem;
  color:#555;
}

.single-product .summary form.cart:not(.variations_form) .single_add_to_cart_button{
  width:100%!important;
  min-height:4.8rem!important;
  margin:0!important;
}

.single-product .summary form.cart:not(.variations_form) .kube-buy-now{
  grid-column:1/-1!important;
  width:100%!important;
  margin-top:0!important;
}

/* Keep simple-product stock visually aligned with the variable-product area. */
.single-product .summary > .stock{
  margin:0 0 1.6rem!important;
  font-size:1.35rem!important;
  line-height:1.5!important;
}

/* Product gallery thumbnails: same size/spacing on all product types. */
.single-product div.product.product-type-simple .flex-control-thumbs,
.single-product div.product.product-type-variable .flex-control-thumbs{
  margin-top:1.2rem!important;
}

/* Mobile: match the Lamp page spacing exactly on simple products. */
@media (max-width:767px){
  .single-product .summary form.cart:not(.variations_form){
    grid-template-columns:12rem 1fr!important;
    gap:1rem!important;
    align-items:end!important;
  }

  .single-product .summary form.cart:not(.variations_form) .quantity{
    width:12rem!important;
  }

  .single-product .summary form.cart:not(.variations_form) .single_add_to_cart_button{
    min-height:5.2rem!important;
  }

  .single-product .summary form.cart:not(.variations_form) .kube-buy-now{
    grid-column:1/-1!important;
    min-height:5.2rem!important;
  }
}

@media (max-width:480px){
  .single-product .summary form.cart:not(.variations_form){
    grid-template-columns:1fr!important;
  }

  .single-product .summary form.cart:not(.variations_form) .quantity{
    width:12rem!important;
  }

  .single-product .summary form.cart:not(.variations_form) .single_add_to_cart_button,
  .single-product .summary form.cart:not(.variations_form) .kube-buy-now{
    width:100%!important;
  }
}


/* =========================================================
   KUBE — Harmonisation beige complete
   Inspiree du visuel de marque fourni par l'utilisateur
   ========================================================= */
body{
  background:var(--kube-white);
  color:rgba(46,36,29,.82);
}

.kube-announcement{
  background:#8f755f;
  color:var(--kube-white);
  border-bottom:1px solid rgba(255,253,249,.18);
}

.kube-header-wrap{
  background:var(--kube-orange);
  color:var(--kube-black);
}

.kube-logo,
.kube-icon-btn{
  color:var(--kube-black);
}

.kube-icon-btn:hover{
  opacity:.82;
}

.kube-cart-count{
  background:var(--kube-black);
  color:var(--kube-white);
}

.kube-product-media,
.woocommerce div.product div.images img,
.single-product .woocommerce-product-gallery__image,
.single-product .flex-control-thumbs li,
.kube-empty{
  background:var(--kube-gray);
}

.kube-sale-badge,
.woocommerce span.onsale,
.single-product .onsale{
  background:var(--kube-orange)!important;
  color:var(--kube-black)!important;
}

.kube-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
#place_order,
.single-product .kube-buy-now{
  background:var(--kube-orange)!important;
  border-color:var(--kube-orange-dark)!important;
  color:var(--kube-black)!important;
  box-shadow:none!important;
}

.kube-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
#place_order:hover,
.single-product .kube-buy-now:hover{
  background:var(--kube-orange-dark)!important;
  border-color:var(--kube-orange-dark)!important;
  color:var(--kube-white)!important;
}

.single-product .single_add_to_cart_button{
  border:1px solid var(--kube-black)!important;
  color:var(--kube-black)!important;
  background:#fffdf9!important;
}

.single-product .single_add_to_cart_button:hover{
  background:var(--kube-black)!important;
  color:var(--kube-white)!important;
}

.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--kube-orange)!important;
  background:var(--kube-orange-light)!important;
  color:var(--kube-black)!important;
}

.woocommerce-message::before,
.woocommerce-info::before{
  color:var(--kube-orange-dark)!important;
}

.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea{
  border:1px solid #d9c2aa!important;
  background:var(--kube-orange-light)!important;
  color:var(--kube-black)!important;
}

.woocommerce-checkout h3{
  color:var(--kube-black);
}

input, select, textarea{
  accent-color:var(--kube-orange-dark);
}

.kube-footer{
  background:#fcf8f3;
}

.kube-footer-links a,
.kube-footer-tagline,
.kube-footer-social-text,
.kube-footer-bottom{
  color:#7a695d;
}

.kube-footer-links a:hover,
.kube-footer-logo,
.kube-footer h3{
  color:var(--kube-black);
}

.kube-socials a{
  background:transparent;
  border-color:var(--kube-border);
  color:var(--kube-black);
}

.kube-socials a:hover{
  background:var(--kube-orange);
  border-color:var(--kube-orange);
  color:var(--kube-black);
}

.kube-price del,
.woocommerce ul.products li.product .price del,
.single-product .summary .price del{
  color:#9d8f85!important;
}

.kube-product-description,
.page .site-main p,
.kube-content p{
  color:#6f6156;
}

hr,
.kube-footer-bottom,
.kube-footer,
.single-product .kube-spec-row{
  border-color:var(--kube-border);
}


/* =========================================================
   KUBE PREMIUM 2.8
   Plus d'espace, typographie plus raffinée, détails plus luxe
   ========================================================= */

:root{
  --kube-serif: Georgia, "Times New Roman", serif;
  --kube-radius: .25rem;
}

/* Global breathing room */
body{
  letter-spacing:.02rem;
}

.kube-container{
  width:min(calc(100% - 5rem),var(--page-width));
}

/* Header: flatter, more editorial */
.kube-header{
  min-height:8.4rem;
  padding:2rem 3rem;
}

.kube-logo{
  font-size:2.5rem;
  letter-spacing:.42rem;
  font-weight:600;
}

.kube-header-wrap.has-shadow{
  box-shadow:0 .5rem 1.8rem rgba(46,36,29,.06);
}

/* Product listing */
.kube-products-home{
  padding:2.4rem 0 5rem;
}

.kube-products-grid,
.woocommerce ul.products{
  gap:2.2rem!important;
}

.kube-product-media{
  background:#f6f0e9;
}

.kube-product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin-top:.2rem!important;
  font-size:1.3rem!important;
  letter-spacing:.02rem!important;
  color:#3b3028!important;
}

.kube-price,
.woocommerce ul.products li.product .price{
  color:#6f5e51!important;
}

.kube-sale-badge,
.woocommerce span.onsale,
.single-product .onsale{
  border-radius:99px!important;
  padding:.55rem 1rem!important;
  font-size:1rem!important;
  letter-spacing:.04rem!important;
  font-weight:500!important;
}

/* Buttons: slimmer, more refined */
.kube-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
#place_order,
.single-product .kube-buy-now,
.single-product .single_add_to_cart_button{
  border-radius:99px!important;
  font-weight:500!important;
  letter-spacing:.02rem!important;
  min-height:5.2rem!important;
  transition:all .2s ease!important;
}

.single-product .single_add_to_cart_button{
  background:#fffdf9!important;
  border:1px solid #6f5e51!important;
  color:#4a3b31!important;
}

.single-product .single_add_to_cart_button:hover{
  background:#4a3b31!important;
  border-color:#4a3b31!important;
  color:#fffdf9!important;
}

.single-product .kube-buy-now{
  border:1px solid var(--kube-orange-dark)!important;
}

/* Product page: editorial luxury */
.single-product .site-main{
  width:min(calc(100% - 5rem),1180px);
  margin:5rem auto 9rem;
}

.single-product div.product{
  gap:5.6rem;
}

.single-product .summary .product_title{
  font-family:var(--kube-serif);
  text-transform:none!important;
  font-size:5.2rem!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  color:#2f251f!important;
  margin-bottom:1.8rem!important;
}

.single-product .summary p.price,
.single-product .summary .price{
  font-size:2.1rem!important;
  margin-bottom:2.6rem!important;
}

.single-product .woocommerce-product-gallery__image,
.single-product .flex-control-thumbs li{
  background:#f5efe8!important;
}

.single-product .woocommerce-product-gallery__image img{
  aspect-ratio:4/5;
}

.kube-product-description{
  margin-top:3.4rem;
  font-size:1.5rem;
  line-height:1.95;
  color:#6a5a4f;
}

.kube-product-description p{
  margin-bottom:1.8rem;
}

.kube-product-specs{
  margin-top:3.8rem;
}

.kube-product-specs h2{
  font-family:var(--kube-serif);
  font-size:3rem;
  font-weight:400;
  letter-spacing:-.02em;
  color:#332820;
}

.kube-spec-row{
  padding:1.15rem 0;
  border-bottom:1px solid #e7dbcf;
}

.kube-spec-row strong{
  color:#4b3d33;
}

.kube-spec-row span{
  color:#7a695d;
}

/* Swatches */
.kube-swatches{
  gap:1.2rem;
}

.kube-swatch{
  width:4rem;
  height:4rem;
  border-color:#d8c8ba;
}

.kube-swatch.is-selected{
  box-shadow:0 0 0 2px #fffdf9,0 0 0 3px #4d4035;
}

/* Checkout */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  border-radius:1.2rem!important;
}

#place_order{
  font-size:1.5rem!important;
}

/* Footer */
.kube-footer{
  padding:7rem 0 3.4rem;
  background:#faf5ef;
}

.kube-footer-logo{
  font-family:var(--kube-serif);
  font-size:2.7rem;
  letter-spacing:.16rem;
  font-weight:400;
}

.kube-footer h3{
  font-size:1.2rem;
  text-transform:uppercase;
  letter-spacing:.1rem;
}

.kube-footer-tagline,
.kube-footer-social-text,
.kube-footer-links a{
  font-size:1.3rem;
}

.kube-footer-top{
  gap:6rem;
}

/* Mobile luxury spacing */
@media(max-width:749px){
  .kube-container{
    width:min(calc(100% - 3rem),var(--page-width));
  }

  .kube-header{
    min-height:6.8rem;
    padding:1.2rem 1.3rem;
  }

  .kube-logo{
    font-size:1.9rem;
    letter-spacing:.3rem;
  }

  .single-product .site-main{
    width:100%;
    margin:0 auto 5.5rem;
  }

  .single-product div.product .summary{
    margin:2.6rem 1.8rem 0!important;
  }

  .single-product .summary .product_title{
    font-size:3.6rem!important;
    line-height:1.05!important;
    margin-bottom:1.2rem!important;
  }

  .single-product .summary p.price,
  .single-product .summary .price{
    font-size:1.9rem!important;
    margin-bottom:2.2rem!important;
  }

  .single-product .single_add_to_cart_button,
  .single-product .kube-buy-now{
    min-height:5.4rem!important;
    font-size:1.5rem!important;
  }

  .kube-product-description{
    font-size:1.46rem;
    line-height:1.9;
  }

  .kube-product-specs h2{
    font-size:2.5rem;
  }

  .kube-footer{
    padding-top:5rem;
  }
}


/* =========================================================
   KUBE CHECKOUT SIMPLE 2.9
   ========================================================= */
.woocommerce-checkout .woocommerce{
  width:min(calc(100% - 4rem), 1080px);
  margin:4.5rem auto 8rem;
}

.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(34rem,.82fr);
  gap:4.5rem;
  align-items:start;
}

.woocommerce-checkout #customer_details{
  width:100%;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100%!important;
  float:none!important;
}

.woocommerce-checkout #customer_details .col-2{
  display:none!important;
}

.woocommerce-checkout #ship-to-different-address{
  display:none!important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  width:100%;
}

.woocommerce-checkout #order_review{
  background:#faf5ef;
  border:1px solid var(--kube-border);
  border-radius:1.6rem;
  padding:2.4rem;
}

.woocommerce-checkout h3{
  font-family:var(--kube-serif);
  font-size:2.8rem!important;
  font-weight:400!important;
  line-height:1.15!important;
  color:var(--kube-black)!important;
  margin:0 0 2rem!important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid;
  gap:1.3rem;
}

.woocommerce-checkout .form-row{
  margin:0!important;
  padding:0!important;
}

.woocommerce-checkout .form-row label{
  display:block;
  margin:0 0 .65rem;
  color:#5e4d41;
  font-size:1.25rem;
  font-weight:500;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  width:100%!important;
  min-height:5.2rem!important;
  border:1px solid #d7c4b2!important;
  border-radius:1.2rem!important;
  background:#fffdf9!important;
  color:var(--kube-black)!important;
  padding:1.25rem 1.4rem!important;
  box-shadow:none!important;
  outline:none!important;
  transition:border-color .2s ease, box-shadow .2s ease!important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
  border-color:var(--kube-orange-dark)!important;
  box-shadow:0 0 0 3px rgba(184,146,110,.12)!important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table{
  border:0!important;
  margin:0 0 2rem!important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{
  border-color:#e4d7ca!important;
  padding:1rem .3rem!important;
  font-size:1.35rem!important;
}

.woocommerce-checkout #payment{
  background:transparent!important;
}

.woocommerce-checkout #payment ul.payment_methods{
  border:0!important;
  padding:0!important;
  margin:0 0 1.6rem!important;
}

.woocommerce-checkout #payment div.payment_box{
  background:#f1e5da!important;
  color:#5f4f44!important;
  border-radius:1rem!important;
  font-size:1.3rem!important;
}

.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:#f1e5da!important;
}

.woocommerce-checkout #place_order{
  width:100%!important;
  min-height:5.4rem!important;
  margin-top:1rem!important;
  border-radius:99px!important;
  font-size:1.5rem!important;
}

.kube-checkout-note{
  margin:0 0 2rem;
  padding:1.3rem 1.5rem;
  border-radius:1rem;
  background:var(--kube-orange-light);
  color:#665448;
  font-size:1.3rem;
  line-height:1.6;
}

@media(max-width:820px){
  .woocommerce-checkout .woocommerce{
    width:min(calc(100% - 3rem),1080px);
    margin:2.8rem auto 5rem;
  }

  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr;
    gap:3rem;
  }

  .woocommerce-checkout #order_review_heading{
    margin-top:1rem!important;
  }

  .woocommerce-checkout #order_review{
    padding:1.8rem;
  }

  .woocommerce-checkout h3{
    font-size:2.4rem!important;
  }
}


/* Checkout - livraison gratuite */
.woocommerce-checkout .woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-shipping-totals td{
  color:var(--kube-black)!important;
}

.woocommerce-checkout .woocommerce-shipping-methods label{
  font-weight:600!important;
  color:#5d4b3e!important;
}

.woocommerce-checkout .woocommerce-shipping-methods input[type="radio"]{
  accent-color:var(--kube-orange-dark);
}

.woocommerce-checkout .kube-checkout-note{
  border:1px solid #e3d2c1;
}


/* KUBE 3.1 — Offre quantité */
.kube-quantity-offer{
  margin:1.8rem 0 2.2rem;
  padding:1.6rem;
  border:1px solid var(--kube-border);
  border-radius:1.6rem;
  background:linear-gradient(180deg,#fffdf9 0%,#f8efe7 100%);
}
.kube-quantity-offer-title{
  margin-bottom:1rem;
  color:var(--kube-black);
  font-weight:700;
  font-size:1.45rem;
  letter-spacing:.02em;
}
.kube-quantity-offer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}
.kube-quantity-offer-grid>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  min-height:5.2rem;
  padding:.8rem 1rem;
  border:1px solid #e7dacd;
  border-radius:1.2rem;
  background:#fff;
}
.kube-quantity-offer-grid>div.is-highlight{
  border-color:var(--kube-orange-dark);
  background:var(--kube-orange-light);
}
.kube-quantity-offer-grid strong{
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  flex:0 0 3rem;
  border-radius:99px;
  background:var(--kube-black);
  color:#fff;
  font-size:1.3rem;
}
.kube-quantity-offer-grid span{
  color:var(--kube-black);
  font-size:1.3rem;
  font-weight:700;
  text-align:right;
}
.kube-quantity-offer p{
  margin:1rem 0 0;
  color:var(--kube-muted);
  font-size:1.2rem;
  line-height:1.5;
}
@media(max-width:560px){
  .kube-quantity-offer-grid{grid-template-columns:1fr}
  .kube-quantity-offer-grid>div{min-height:4.8rem}
}


/* KUBE 3.2 — Continuer mes achats */
.kube-continue-shopping-wrap{
  margin-top:1.6rem;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.kube-continue-shopping{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  min-height:4.6rem;
  padding:0 1.65rem;
  border:1px solid var(--kube-black);
  border-radius:999px;
  background:transparent;
  color:var(--kube-black)!important;
  font-size:1.25rem;
  font-weight:650;
  line-height:1;
  text-decoration:none!important;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.kube-continue-shopping:hover,
.kube-continue-shopping:focus-visible{
  background:var(--kube-black);
  color:#fff!important;
  transform:translateY(-1px);
}
.kube-continue-shopping>span:first-child{
  font-size:1.55rem;
  line-height:1;
}
.woocommerce-cart .wc-block-cart__main>.kube-continue-shopping-wrap{
  margin-top:1.4rem;
}
@media(max-width:767px){
  .kube-continue-shopping-wrap{width:100%;}
  .kube-continue-shopping{width:100%; min-height:4.8rem;}
}
