/* Bonotō Paris — habillage WooCommerce */

/* ---------- Boutons ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link), .wp-element-button.wc-block-components-button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-size:.8rem; font-weight:400; letter-spacing:.08em; text-transform:uppercase; line-height:1.2;
  background:var(--bordeaux); color:var(--white); border:1.5px solid var(--bordeaux); border-radius:var(--radius);
  padding:15px 28px; transition:all .25s ease; text-decoration:none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .wc-block-components-button:not(.is-link):hover{
  background:var(--bordeaux-soft); border-color:var(--bordeaux-soft); color:var(--white);
}
.woocommerce a.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled{opacity:.5;}
.woocommerce a.added_to_cart{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--bordeaux); margin-left:10px; border-bottom:1px solid var(--bordeaux);}

/* ---------- Grille produits ---------- */
.woocommerce ul.products, .woocommerce-page ul.products{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin:0; padding:0; list-style:none;}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr);}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr);}
.woocommerce ul.products::before, .woocommerce ul.products::after{display:none !important;}
@media (max-width:900px){ .woocommerce ul.products, .woocommerce ul.products[class*=columns-]{grid-template-columns:repeat(2,1fr); gap:16px;} }
@media (max-width:420px){ .woocommerce ul.products, .woocommerce ul.products[class*=columns-]{grid-template-columns:1fr;} }

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
  float:none !important; width:auto !important; margin:0 !important; position:relative;
  background:var(--white); border:1px solid var(--stone-line); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column; padding:0 0 22px; text-align:left;
}
.has-hover-effects.woocommerce ul.products li.product, .has-hover-effects ul.products li.product{transition:transform .3s ease, box-shadow .3s ease;}
.has-hover-effects ul.products li.product:hover{transform:translateY(-4px); box-shadow:0 22px 44px -30px rgba(63,7,7,.45);}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex; flex-direction:column; flex:1; color:inherit;}
.woocommerce ul.products li.product a img{width:100%; aspect-ratio:1/1; object-fit:cover; margin:0 0 18px; background:var(--blush); transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.has-hover-effects ul.products li.product:hover a img{transform:scale(1.04);}
.woocommerce ul.products li.product .loop-cat{display:block; padding:0 22px; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--bordeaux); margin-bottom:6px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .woocommerce ul.products li.product h3{
  font-family:var(--font-heading); font-style:italic; font-weight:400; font-size:1.08rem; color:var(--ink); padding:0 22px; margin:0 0 6px;
}
.woocommerce ul.products li.product .price{display:block; padding:0 22px; color:var(--ink-soft); font-size:.9rem; margin:0 0 16px;}
.woocommerce ul.products li.product .price ins{text-decoration:none; color:var(--ink);}
.woocommerce ul.products li.product .star-rating{margin:0 22px 8px; font-size:.75em;}
.woocommerce ul.products li.product .button{
  margin:auto 22px 0; align-self:flex-start; background:transparent; color:var(--bordeaux); padding:10px 18px; font-size:.7rem;
}
.woocommerce ul.products li.product .button:hover{background:var(--bordeaux); color:var(--white);}
.woocommerce ul.products li.product .added_to_cart{margin:10px 22px 0;}
.woocommerce span.onsale{min-height:0; min-width:0; line-height:1; margin:0; font-weight:400; background:var(--bordeaux); color:var(--white); border-radius:var(--radius); padding:7px 10px; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;}
.woocommerce ul.products li.product .onsale{top:14px; left:14px; right:auto; margin:0;}

/* barre au-dessus de la grille */
.woocommerce .woocommerce-result-count{float:none; margin:0; font-size:.8rem; color:var(--ink-soft); letter-spacing:.04em;}
.woocommerce .woocommerce-ordering{float:none; margin:0;}
.woocommerce .woocommerce-ordering select{width:auto; padding:10px 34px 10px 14px; font-size:.82rem;}
.shop-page .woocommerce-notices-wrapper + .woocommerce-result-count, .shop-page .woocommerce-result-count{display:inline-block;}
.shop-page .woocommerce-ordering{display:inline-block; float:right;}
.shop-page ul.products{clear:both; margin-top:26px !important;}
@media (max-width:600px){ .shop-page .woocommerce-ordering{float:none; display:block; margin-top:12px;} }
.woocommerce-products-header{display:none;}

/* ---------- Fiche produit ---------- */
.product-page .woocommerce-breadcrumb{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:34px;}
.product-page .woocommerce-breadcrumb a{color:var(--ink-soft);}
.product-page .woocommerce-breadcrumb .sep, .page-hero .woocommerce-breadcrumb .sep{margin:0 8px; opacity:.5;}
.woocommerce div.product{display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:start;}
.woocommerce div.product > *{grid-column:1 / -1;}
.woocommerce div.product div.images, .woocommerce div.product div.summary{float:none !important; width:auto !important; margin:0 !important;}
.woocommerce div.product div.images{grid-column:1;}
.woocommerce div.product div.summary{grid-column:2; position:sticky; top:110px;}
.woocommerce div.product > .onsale{grid-column:1; grid-row:1; position:absolute; z-index:5;}
@media (max-width:900px){
  .woocommerce div.product{grid-template-columns:1fr; gap:34px;}
  .woocommerce div.product div.images, .woocommerce div.product div.summary{grid-column:1; position:static;}
}
.woocommerce div.product div.images img{border-radius:var(--radius); background:var(--blush);}
.woocommerce div.product div.images .flex-control-thumbs{display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:12px;}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto !important; float:none !important;}
.woocommerce div.product div.images .flex-control-thumbs img{opacity:.6; transition:opacity .2s;}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active, .woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;}
.woocommerce div.product .product_title{font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:14px;}
.woocommerce div.product p.price, .woocommerce div.product span.price{font-family:var(--font-heading); font-size:1.5rem; color:var(--bordeaux); margin-bottom:22px;}
.woocommerce div.product p.price del{opacity:.5; font-size:1.1rem; margin-right:8px;}
.woocommerce div.product p.price ins{text-decoration:none;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft); margin-bottom:28px;}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:14px; font-size:.84rem;}
.woocommerce .star-rating span::before, .woocommerce p.stars a{color:var(--amber);}
.woocommerce div.product form.cart{display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; margin:0 0 26px; padding:24px 0; border-top:1px solid var(--stone-line); border-bottom:1px solid var(--stone-line);}
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after{display:none;}
.woocommerce div.product form.cart .button{flex:1; min-width:200px; padding:17px 28px;}
.woocommerce div.product form.cart table.variations{width:100%; margin-bottom:6px;}
.woocommerce div.product form.cart table.variations th{text-align:left; font-weight:400; padding-right:14px;}
.woocommerce div.product form.cart .variations_button, .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex; gap:12px; width:100%;}
.woocommerce .quantity .qty{width:78px; height:100%; min-height:52px; text-align:center; padding:10px;}
.product-trust{list-style:none; display:grid; gap:12px; margin:0 0 26px; font-size:.86rem; color:var(--ink);}
.product-trust li{display:flex; align-items:center; gap:12px;}
.product-trust svg{width:20px; height:20px; stroke:var(--bordeaux); fill:none; stroke-width:1.3; flex-shrink:0;}
.woocommerce div.product .product_meta{font-size:.78rem; color:var(--ink-soft); display:grid; gap:4px;}
.woocommerce div.product .product_meta a{color:var(--bordeaux);}

/* onglets */
.woocommerce div.product .woocommerce-tabs{margin-top:60px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex; justify-content:center; gap:34px; padding:0; margin:0 0 34px; border-bottom:1px solid var(--stone-line);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none; border:none; margin:0; padding:0; border-radius:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block; padding:14px 0; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:400; border-bottom:2px solid transparent; margin-bottom:-1px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--bordeaux); border-color:var(--bordeaux);}
.woocommerce div.product .woocommerce-tabs .panel{max-width:820px; margin:0 auto;}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{display:none;}
.woocommerce table.shop_attributes{border:none;}
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td{border-bottom:1px solid var(--stone-line); padding:12px; font-style:normal; background:none !important;}

/* produits liés */
.woocommerce .related, .woocommerce .upsells{margin-top:90px;}
.woocommerce .related > h2, .woocommerce .upsells > h2{text-align:center; font-size:clamp(1.6rem,2.4vw,2.1rem); margin-bottom:40px;}

/* ---------- Messages ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner{
  background:var(--white) !important; border:1px solid var(--stone-line) !important; border-left:3px solid var(--bordeaux) !important;
  color:var(--ink) !important; border-radius:var(--radius); padding:18px 22px 18px 54px !important; margin-bottom:26px; list-style:none; font-size:.92rem;
}
.woocommerce-message::before, .woocommerce-info::before{color:var(--bordeaux) !important;}
.woocommerce-error{border-left-color:#a32d2d !important;}
.woocommerce-message .button, .woocommerce-info .button{padding:9px 16px; font-size:.7rem; float:right;}

/* ---------- Panier, commande, compte (classiques) ---------- */
.wc-page .woocommerce table.shop_table{border:1px solid var(--stone-line); border-radius:var(--radius); background:var(--white); border-collapse:separate;}
.wc-page .woocommerce table.shop_table th{font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:400;}
.wc-page .woocommerce table.shop_table td, .wc-page .woocommerce table.shop_table th{border-color:var(--stone-line); padding:16px 14px;}
.wc-page .woocommerce table.cart img{width:72px; border-radius:var(--radius);}
.wc-page .woocommerce table.cart td.actions .coupon .input-text{width:180px; padding:12px;}
.wc-page .woocommerce .cart-collaterals .cart_totals h2, .wc-page .woocommerce-checkout h3{font-size:1.4rem; margin-bottom:18px;}
.wc-page .woocommerce a.remove{color:var(--bordeaux) !important;}
.wc-page .woocommerce a.remove:hover{background:var(--bordeaux); color:var(--white) !important;}
.woocommerce form .form-row label{color:var(--ink-soft); font-size:.84rem;}
.woocommerce form .form-row .input-text, .woocommerce form .form-row select{padding:13px 15px;}
.woocommerce-checkout #payment{background:var(--white); border:1px solid var(--stone-line); border-radius:var(--radius);}
.woocommerce-checkout #payment div.payment_box{background:var(--blush); color:var(--ink);}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--blush);}

.woocommerce-account .woocommerce{display:grid; grid-template-columns:240px 1fr; gap:50px;}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;}
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content{float:none; width:auto;}
.woocommerce-MyAccount-navigation ul{list-style:none; padding:0; border-top:1px solid var(--stone-line);}
.woocommerce-MyAccount-navigation li a{display:block; padding:13px 0; border-bottom:1px solid var(--stone-line); font-size:.88rem; color:var(--ink-soft);}
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover{color:var(--bordeaux); padding-left:6px; transition:padding .2s;}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;}
@media (max-width:900px){ .woocommerce-account .woocommerce{grid-template-columns:1fr; gap:26px;} }
.woocommerce form.login, .woocommerce form.register{border:1px solid var(--stone-line) !important; border-radius:var(--radius) !important; background:var(--white); padding:30px !important;}

/* ---------- Panier / commande en blocs ---------- */
.wc-block-cart, .wc-block-checkout{font-family:var(--font-body);}
.wc-block-components-title, .wc-block-cart__totals-title{font-family:var(--font-heading) !important; color:var(--bordeaux);}
.wc-block-components-product-name{font-family:var(--font-heading); font-style:italic; color:var(--ink) !important;}
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input{border-color:var(--stone-line) !important; border-radius:var(--radius) !important;}
.wc-block-components-text-input.is-active input:focus{border-color:var(--bordeaux) !important; box-shadow:none !important;}
