/* WooCommerce habillé comme la boutique de la maquette (boutique.css + harmonisation.css chargées avant).
 * Couleurs : --ink #302c28, --cream #f5f5f2, --sand #e6e6e3, --line #d1d1ce, accent bois #b9a68e. */

.boutique-page{--wc-ink:var(--ink,#302c28);--wc-line:var(--line,#d1d1ce);--wc-sand:var(--sand,#e6e6e3);--wc-muted:var(--warm-muted,#6c6155)}

/* ---------- Barre du haut, fil d'Ariane ---------- */
.shop-breadcrumb{font-size:12px;color:var(--wc-muted)}
.shop-breadcrumb a{color:inherit}
@media (hover:hover) and (pointer:fine){.shop-breadcrumb a:hover{text-decoration:underline;text-underline-offset:5px}}
.shop-cart-trigger .shop-count[hidden]{display:inline-flex!important;opacity:.55}
.shop-cart-trigger .shop-count{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:11px;background:var(--wc-ink);color:#fff;font-size:11px;padding:0 6px}

/* ---------- Onglets du catalogue (liens, même rendu que les boutons de la maquette) ---------- */
.boutique-page .shop-type-switch a{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;padding:12px 0 17px;color:#6c6155;font-size:14px;line-height:1.25}
.boutique-page .shop-type-switch a[aria-current=page]{border-bottom-color:var(--wc-ink);color:var(--wc-ink)}
@media (hover:hover) and (pointer:fine){.boutique-page .shop-type-switch a:hover{color:var(--wc-ink);border-bottom-color:#a3927f}}
@media(max-width:760px){.boutique-page .shop-type-switch a{font-size:13px;padding:10px 0 13px}}

/* ---------- Recherche et filtres ---------- */
.cuisin-shop-form{margin:0}
.shop-search{position:relative}
.shop-search svg{position:absolute;left:17px;top:50%;width:19px;height:19px;transform:translateY(-50%);fill:none;stroke:#777;stroke-width:1.6;pointer-events:none}
.shop-filters .shop-family-group{margin-bottom:18px}
.cuisin-price-filter{border:0;padding:0;margin:0 0 18px;min-width:0}
.cuisin-price-filter legend{font-size:12px;letter-spacing:.13em;text-transform:uppercase;padding:0;margin:0 0 10px;color:var(--wc-muted);font-weight:600}
.cuisin-price-filter>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cuisin-price-filter input{width:100%;min-height:44px;padding:8px;border:1px solid #bfbfbc;background:#fffdf9;color:var(--wc-ink);font:inherit;font-size:13px;border-radius:var(--radius,3px)}
.cuisin-price-filter .shop-micro{font-size:12px;line-height:1.5;color:var(--wc-muted);margin:8px 0 0}
.shop-filters .shop-apply-filters{width:100%;margin:4px 0 12px}
.shop-filters .shop-reset{display:inline-block;text-decoration:none}
@media(min-width:761px){.shop-filters .shop-apply-filters{display:none}}
.shop-active-filters a{display:inline-flex;align-items:center;gap:14px;background:var(--wc-sand);border:1px solid #bfbfbc;padding:9px 12px;min-height:44px;color:var(--wc-ink);font-size:13px}
.shop-active-filters a span{font-size:20px;line-height:1}
.shop-result-line .woocommerce-result-count{margin:0;font-size:12px;color:var(--wc-muted)}
.shop-term-description{max-width:70ch;color:var(--wc-muted);margin:-10px 0 24px;font-size:15px;line-height:1.7}

/* ---------- Cartes produit ---------- */
.shop-grid{margin:0;padding:0;list-style:none}
.shop-grid::before,.shop-grid::after{content:none!important}
.shop-card-media img{display:block}
.shop-card-media .woocommerce-placeholder{object-fit:contain;padding:20%!important;opacity:.5}
.shop-card-copy{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.shop-card-label{margin:0 0 6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--wc-muted)}
.shop-card h3{margin:0 0 12px}
.shop-card h3 a{color:inherit}
@media (hover:hover) and (pointer:fine){.shop-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}}
.shop-card-ref{display:block;font-size:.72em;letter-spacing:.02em;color:var(--wc-muted);margin-top:4px}
.shop-card-bottom{margin-top:auto;border-top:1px solid var(--wc-line);display:flex;flex-direction:column;align-items:stretch}
.shop-card-price{margin:0;font-size:16px;color:var(--wc-ink)}
.shop-card-price del,.shop-price del{color:#8a8a8a;font-size:.85em;margin-right:6px}
.shop-card-price ins,.shop-price ins{text-decoration:none}
.shop-card-price .woocommerce-price-suffix{font-size:12px;color:var(--wc-muted)}
.cuisin-quote-price{font-weight:500;color:var(--wc-muted)}
.shop-card .added_to_cart{display:inline-block;margin-top:8px;font-size:13px;color:var(--wc-ink);text-decoration:underline;text-underline-offset:4px}
.shop-card .shop-button.loading{opacity:.6;cursor:progress}
.shop-card .shop-button.added::after{content:" ✓"}
.shop-card .shop-button::after{content:"→";margin-left:auto}
.shop-card .shop-button.added::after{content:"✓"}

/* ---------- Pagination ---------- */
.shop-pagination .woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;border:0;margin:0;padding:0}
.shop-pagination .woocommerce-pagination ul.page-numbers li{border:0;float:none;overflow:visible}
.shop-pagination .woocommerce-pagination ul.page-numbers li .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--wc-line);color:var(--wc-ink);font-size:14px;background:transparent}
.shop-pagination .woocommerce-pagination ul.page-numbers li span.current{background:var(--wc-ink);color:#fff;border-color:var(--wc-ink)}
@media (hover:hover) and (pointer:fine){.shop-pagination .woocommerce-pagination ul.page-numbers li a:hover{background:var(--wc-sand)}}

/* ---------- Boutons WooCommerce : boutons de la maquette ---------- */
.boutique-page .woocommerce a.button,.boutique-page .woocommerce button.button,.boutique-page .woocommerce input.button,.boutique-page a.button,.boutique-page button.button,.boutique-page .woocommerce #respond input#submit,
.boutique-page .woocommerce a.button.alt,.boutique-page .woocommerce button.button.alt,.boutique-page button.button.alt{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;background:#3b3b3b;color:#fff;border:1px solid #3b3b3b;border-radius:var(--radius,3px);padding:12px 22px;font:inherit;font-weight:500;font-size:14px;line-height:1.45;text-align:center}
@media (hover:hover) and (pointer:fine){.boutique-page .woocommerce a.button:hover,.boutique-page .woocommerce button.button:hover,.boutique-page a.button:hover,.boutique-page button.button:hover,.boutique-page button.button.alt:hover{background:#1f1f1f;border-color:#1f1f1f;color:#fff}}
.boutique-page button.button.alt.disabled,.boutique-page button.button.disabled,.boutique-page button.button:disabled{background:#8d8d8d;border-color:#8d8d8d;opacity:.7}

/* ---------- Messages ---------- */
.boutique-page .woocommerce-message,.boutique-page .woocommerce-info,.boutique-page .woocommerce-error,.boutique-page .woocommerce-notices-wrapper>*{border-top:3px solid var(--wc-ink);background:#fffdf9;color:var(--wc-ink);font-size:14px}
.boutique-page .woocommerce-message::before,.boutique-page .woocommerce-info::before{color:var(--wc-ink)}
.boutique-page .woocommerce-error{border-top-color:#a33a2b}
.boutique-page .woocommerce-message .button{float:right;min-height:40px;padding:8px 16px}

/* ---------- Fiche produit ---------- */
.shop-product-main .shop-product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;background:var(--cream,#f5f5f2);border:1px solid var(--wc-line)}
.shop-product-main .shop-gallery{position:relative;background:#fff;padding:24px;align-self:stretch}
.shop-product-main .woocommerce-product-gallery{position:relative!important;top:auto!important;width:auto!important;float:none!important;margin:0!important;opacity:1!important}
.shop-product-main .woocommerce-product-gallery__image img{width:100%;height:auto;max-height:640px;object-fit:contain}
.shop-product-main .woocommerce-product-gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0!important;padding:0;list-style:none}
.shop-product-main .woocommerce-product-gallery .flex-control-thumbs li{width:72px!important;float:none!important;margin:0!important}
.shop-product-main .woocommerce-product-gallery .flex-control-thumbs img{border:1px solid var(--wc-line);aspect-ratio:1;object-fit:contain;background:#fff;opacity:.7}
.shop-product-main .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--wc-ink)}@media (hover:hover) and (pointer:fine){.shop-product-main .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--wc-ink)}}
.shop-product-main .woocommerce-product-gallery__trigger{top:12px!important;right:12px!important}
.shop-product-main .shop-product-info{padding:46px 40px}
.shop-product-main .shop-product-info h1{font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:-.04em;margin:0 0 18px;font-weight:500}
.shop-product-main .shop-product-info h1 .shop-card-ref{font-size:.45em;margin-top:8px}
.shop-product-short{font-size:15px;line-height:1.75;color:var(--wc-muted)}
.shop-product-short p{margin:0}
.shop-product-main .shop-config .shop-price{font-size:24px;margin:0 0 4px;color:var(--wc-ink)}
.shop-product-main .shop-config .shop-micro{font-size:13px;line-height:1.6;color:var(--wc-muted);margin:4px 0 14px}
.shop-product-main .shop-config .shop-sku{margin:14px 0 0}
.shop-product-main .shop-config form.cart{margin:16px 0 10px}
.shop-product-main form.cart:not(.variations_form),.shop-product-main .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.shop-product-main form.cart .single_add_to_cart_button{flex:1 1 200px;min-height:50px}
.shop-product-main .quantity .qty{width:72px;min-height:50px;border:1px solid #bababa;background:#fffdf9;text-align:center;font:inherit;font-size:15px;border-radius:var(--radius,3px)}
.shop-product-main table.variations{width:100%;border:0;margin:0 0 12px;border-collapse:collapse}
.shop-product-main table.variations tr{display:block;margin-bottom:10px}
.shop-product-main table.variations th,.shop-product-main table.variations td{display:block;padding:0;text-align:left;border:0;background:none}
.shop-product-main table.variations label{display:block;font-size:13px;font-weight:500;margin:0 0 7px}
.shop-product-main table.variations select{width:100%;max-width:100%;min-height:46px;padding:10px 12px;border:1px solid #bababa;background:#fffdf9;color:var(--wc-ink);font:inherit;font-size:14px;border-radius:var(--radius,3px);text-overflow:ellipsis}
.shop-product-main .reset_variations{display:inline-block;margin-top:8px;font-size:13px;color:var(--wc-muted);text-decoration:underline}
.shop-product-main .woocommerce-variation-price .price{font-size:20px;color:var(--wc-ink);margin:0 0 8px;display:block}
.shop-product-main .shop-config.cuisin-live-total .woocommerce-variation-price{display:none}
.shop-product-main .woocommerce-variation-availability p,.shop-product-main .stock{font-size:13px;color:var(--wc-muted);margin:0 0 10px}
.shop-product-main .woocommerce-variation-description p{font-size:14px;color:var(--wc-muted)}
.shop-product-main .shop-buyline{display:flex}
.shop-product-main .shop-buyline .shop-button{flex:1}
.shop-product-main .shop-text-button{display:inline-block;margin-top:6px;font-size:14px;color:var(--wc-ink);text-decoration:underline;text-underline-offset:4px;background:none;border:0;padding:0}
.shop-product-main .shop-specs-section h2,.shop-product-main .shop-description h2{font-size:22px!important;line-height:1.3!important;letter-spacing:-.02em;font-weight:500;margin:0 0 14px}
.shop-related h2{margin:0 0 20px}
.shop-product-main .price,.shop-product-main .price .amount,.shop-product-main .woocommerce-variation-price .price{color:var(--wc-ink)!important}
.cuisin-wc-page h2,.cuisin-wc-page .wc-block-components-title,.cuisin-wc-page .wc-block-cart__totals-title{font-size:22px!important;line-height:1.3!important;letter-spacing:-.02em!important;text-transform:none!important;font-weight:500!important}
@media(max-width:760px){.shop-topline .shop-cart-trigger{white-space:nowrap;flex-shrink:0}.shop-breadcrumb{min-width:0;overflow-wrap:anywhere}}
.shop-description{margin-top:32px;font-size:15px;line-height:1.75;color:#4f4a44}
.shop-description ul{padding-left:1.2em}
.shop-related{margin-top:60px}
.shop-related .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.shop-product-main .onsale{position:absolute;top:18px;left:18px;z-index:2;min-height:0;min-width:0;padding:5px 10px;border-radius:0;background:var(--wc-ink);color:#fff;font-size:12px;line-height:1.4;font-weight:500}

/* ---------- Panier, commande, compte ---------- */
.cuisin-wc-inner{max-width:1180px;margin:0 auto}
.cuisin-wc-title{font-size:clamp(34px,3.5vw,52px);line-height:1.16;letter-spacing:-.04em;font-weight:500;margin:6px 0 30px}
.cuisin-wc-page .wc-block-components-button:not(.is-link),.cuisin-wc-page .wc-block-cart__submit-button,.cuisin-wc-page .wc-block-components-checkout-place-order-button{background:#3b3b3b!important;color:#fff!important;border-radius:var(--radius,3px)!important;font-weight:500}
@media (hover:hover) and (pointer:fine){.cuisin-wc-page .wc-block-components-button:not(.is-link):hover{background:#1f1f1f!important}}
.cuisin-wc-page .wc-block-components-product-name{color:var(--wc-ink);font-weight:500}
.cuisin-wc-page .wc-block-components-text-input input,.cuisin-wc-page .wc-block-components-combobox .wc-block-components-combobox-control input,.cuisin-wc-page .wc-blocks-components-select__select{background:#fffdf9!important;border-color:#bfbfbc!important;border-radius:var(--radius,3px)!important}
.cuisin-wc-page .wc-block-components-sidebar,.cuisin-wc-page .wp-block-woocommerce-cart-totals-block,.cuisin-wc-page .wc-block-checkout__sidebar{background:var(--wc-sand);padding:20px}
.cuisin-wc-page .wc-block-components-totals-item__label,.cuisin-wc-page .wc-block-components-totals-item__value{color:var(--wc-ink)}
.cuisin-wc-page a{color:var(--wc-ink)}
.cuisin-wc-page .wp-block-woocommerce-empty-cart-block{text-align:center;padding:30px 0}
.cuisin-wc-page .wc-block-grid__product-title{font-weight:500}
.cuisin-wc-page table.shop_table{border-color:var(--wc-line);border-radius:0;background:#fffdf9}
.cuisin-wc-page .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 30px;border-top:1px solid var(--wc-line)}
.cuisin-wc-page .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--wc-line)}
.cuisin-wc-page .woocommerce-MyAccount-navigation li a{display:block;padding:12px 0}
.cuisin-wc-page .woocommerce-MyAccount-navigation li.is-active a{font-weight:600}
.cuisin-wc-page .woocommerce form .form-row input.input-text,.cuisin-wc-page .woocommerce form .form-row textarea,.cuisin-wc-page .woocommerce form .form-row select{min-height:46px;border:1px solid #bfbfbc;background:#fffdf9;padding:10px 12px;border-radius:var(--radius,3px);font:inherit}
.cuisin-wc-page .woocommerce form.login,.cuisin-wc-page .woocommerce form.register{border:1px solid var(--wc-line);border-radius:0;background:#fffdf9}

/* ---------- Mobile ---------- */
@media(max-width:900px){
  .shop-product-main .shop-product-layout{grid-template-columns:minmax(0,1fr)}
  .shop-product-main .shop-product-info{padding:28px 22px}
  .shop-related .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .shop-card-copy{padding:12px 12px 14px}
  .shop-card-price{font-size:15px}
  .shop-product-main .shop-gallery{padding:12px}
  .shop-active-filters a{font-size:12px;padding:8px 10px}
}
/* Règles de prix du 09/10 : pastille −20 %, mention HT/TTC, devis BORA/NOVY au panier. */
.shop-discount{display:inline-block;background:#36523d;color:#fff;font-size:.78em;font-weight:600;line-height:1;padding:3px 6px;border-radius:3px;vertical-align:.08em;white-space:nowrap;margin-left:4px}
.cuisin-tax-label{font-size:.85em}
.cuisin-cart-quote-line{margin:8px 0 0}
.cuisin-cart-quote{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;font-size:12px;text-decoration:none}
.cuisin-cart-quotes{border:1px solid #d9d6d0;background:#f6f4f0;padding:18px 20px;margin:0 0 24px}
.cuisin-cart-quotes h2{font-size:20px;margin:0 0 6px}
.cuisin-cart-quotes p{margin:0 0 12px;font-size:14px}
.cuisin-cart-quotes ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cuisin-cart-quotes li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.cuisin-pickup-notice{border-left:3px solid #36523d;background:#f6f4f0;padding:12px 16px;margin:0 0 20px;font-size:14px;line-height:1.5}
