/* ============================================================
   HK HANDMADE — WooCommerce premium (boutique, fiche, panier, tunnel, compte)
   Charte v1 .hkm- · classique (shortcodes) · ne touche aucun template
   ============================================================ */

/* ---------- Tokens de repli (si hkm-wp.css absent) ---------- */
:root{
  --hkm-bg:#FAF7F2; --hkm-surface:#FFFFFF; --hkm-ink:#1C1A17; --hkm-ink-soft:#6B645A;
  --hkm-terra:#9C4A2F; --hkm-terra-dark:#7E3B25; --hkm-laiton:#B08D57; --hkm-laiton-pale:#F3EBDD;
  --hkm-line:#E8E1D6; --hkm-serif:'Fraunces',Georgia,serif; --hkm-sans:'Inter',sans-serif;
  --hkm-radius:3px; --hkm-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Fil d'ariane ---------- */
.woocommerce .woocommerce-breadcrumb{
  font-size:.78rem; color:var(--hkm-ink-soft); letter-spacing:.02em;
  padding:1.2rem 0; margin-bottom:0;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--hkm-ink-soft);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--hkm-terra);}

/* ---------- Bandeau résultats + tri (boutique) ---------- */
.woocommerce .woocommerce-result-count{color:var(--hkm-ink-soft); font-size:.85rem; font-style:normal;}
.woocommerce .woocommerce-ordering select,
.woocommerce select, .woocommerce input[type=text], .woocommerce input[type=email],
.woocommerce input[type=tel], .woocommerce input[type=password], .woocommerce input[type=number],
.woocommerce textarea{
  border:1px solid var(--hkm-line) !important; border-radius:var(--hkm-radius) !important;
  background:var(--hkm-surface); color:var(--hkm-ink); padding:.7em .9em;
  font-family:var(--hkm-sans); transition:border-color .2s var(--hkm-ease);
}
.woocommerce select:focus, .woocommerce input:focus, .woocommerce textarea:focus{
  border-color:var(--hkm-terra) !important; outline:none;
  box-shadow:0 0 0 3px rgba(156,74,47,.10);
}

/* ---------- Grille produits (boutique + liés + ventes croisées) ---------- */
.woocommerce ul.products li.product{
  background:var(--hkm-surface); border:1px solid var(--hkm-line);
  border-radius:var(--hkm-radius); padding:.9rem .9rem 1.1rem; margin-bottom:2.5em;
  transition:box-shadow .3s var(--hkm-ease), transform .3s var(--hkm-ease);
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 2px 8px rgba(28,26,23,.05),0 14px 36px rgba(28,26,23,.07);
  transform:translateY(-2px);
}
.woocommerce ul.products li.product a img{margin-bottom:.9rem; border-radius:var(--hkm-radius);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--hkm-serif) !important; font-size:1.05rem !important; line-height:1.25;
  color:var(--hkm-ink); padding:.1em 0 .35em !important;
}
.woocommerce ul.products li.product .price{
  color:var(--hkm-ink) !important; font-weight:600; font-size:.98rem;
  font-family:var(--hkm-sans) !important;
}
.woocommerce ul.products li.product .price del{color:var(--hkm-ink-soft); font-weight:400;}
.woocommerce ul.products li.product .price ins{color:var(--hkm-terra); text-decoration:none;}
.woocommerce ul.products li.product .button{margin-top:.5rem;}

/* Badge promo */
.woocommerce span.onsale{
  background:var(--hkm-terra) !important; color:#fff !important;
  border-radius:var(--hkm-radius); font-size:.66rem; font-weight:600;
  letter-spacing:.10em; text-transform:uppercase; min-height:auto; min-width:auto;
  padding:.35em .7em; line-height:1; top:1rem; left:1rem; margin:0;
}

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul{border:none; gap:.4rem; display:flex;}
.woocommerce nav.woocommerce-pagination ul li{border:none;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--hkm-line); border-radius:var(--hkm-radius); color:var(--hkm-ink);
  padding:.5em .9em; transition:background .2s,color .2s;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--hkm-ink); color:#fff;}

/* ---------- Fiche produit ---------- */
.single-product div.product{margin-top:1rem;}
.single-product div.product .product_title.entry-title{
  font-family:var(--hkm-serif) !important; font-size:clamp(1.6rem,3vw,2.3rem) !important;
  line-height:1.12; color:var(--hkm-ink); margin-bottom:.6rem;
}
.single-product div.product p.price,
.single-product div.product .summary .price{
  font-family:var(--hkm-serif) !important; color:var(--hkm-ink) !important;
  font-size:1.7rem !important; font-weight:500; margin:.4rem 0 1rem;
}
.single-product div.product .summary .price ins{color:var(--hkm-terra); text-decoration:none;}
.single-product div.product .woocommerce-product-rating .star-rating span{color:var(--hkm-laiton);}
.single-product .woocommerce-product-gallery img{border-radius:var(--hkm-radius); border:1px solid var(--hkm-line);}
.single-product .woocommerce-product-details__short-description{
  color:var(--hkm-ink-soft); font-size:1rem; line-height:1.7; margin-bottom:1.4rem;
}

/* Sélecteur de quantité — pilule premium */
.woocommerce .quantity{display:inline-flex; align-items:center; border:1px solid var(--hkm-line); border-radius:var(--hkm-radius); overflow:hidden; margin-right:.8rem;}
.woocommerce .quantity input.qty{
  border:none !important; box-shadow:none !important; width:3.2em; text-align:center;
  background:var(--hkm-surface); padding:.7em .2em; font-weight:600;
}

/* Méta produit (SKU, catégories) */
.single-product .product_meta{
  font-size:.82rem; color:var(--hkm-ink-soft); border-top:1px solid var(--hkm-line);
  margin-top:1.6rem; padding-top:1.1rem;
}
.single-product .product_meta a{color:var(--hkm-ink-soft);}
.single-product .product_meta a:hover{color:var(--hkm-terra);}

/* Onglets produit */
.woocommerce-tabs ul.tabs.wc-tabs{border-bottom:1px solid var(--hkm-line); padding:0; margin-bottom:1.6rem;}
.woocommerce-tabs ul.tabs.wc-tabs::before{border-bottom-color:var(--hkm-line);}
.woocommerce-tabs ul.tabs li{
  background:transparent !important; border:none !important; border-radius:0 !important;
  padding:0 !important; margin:0 1.8rem 0 0 !important;
}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none !important;}
.woocommerce-tabs ul.tabs li a{
  font-family:var(--hkm-sans) !important; font-weight:600; font-size:.78rem !important;
  text-transform:uppercase; letter-spacing:.12em; color:var(--hkm-ink-soft) !important;
  padding:.7em 0 !important; border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a{color:var(--hkm-ink) !important; border-bottom-color:var(--hkm-terra);}
.woocommerce-tabs .panel h2{font-family:var(--hkm-serif); font-weight:500;}

/* Produits liés / ventes croisées */
.woocommerce .related > h2,.woocommerce .upsells > h2,.woocommerce .cross-sells > h2{
  font-family:var(--hkm-serif) !important; font-weight:500; font-size:1.6rem; margin-bottom:1.4rem;
}

/* ---------- Panier ---------- */
.woocommerce table.shop_table{border:1px solid var(--hkm-line); border-radius:var(--hkm-radius); border-collapse:separate;}
.woocommerce table.shop_table th{font-family:var(--hkm-sans); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--hkm-ink-soft);}
.woocommerce table.shop_table td{border-top:1px solid var(--hkm-line);}
.woocommerce-cart table.cart img{border-radius:var(--hkm-radius); border:1px solid var(--hkm-line); width:72px;}
.woocommerce-cart .product-name a{font-family:var(--hkm-serif); color:var(--hkm-ink);}
.woocommerce-cart .cart_totals h2{font-family:var(--hkm-serif) !important; font-weight:500;}
.woocommerce-cart .cart_totals table.shop_table{background:var(--hkm-laiton-pale);}
.woocommerce .cart-collaterals .cart_totals .checkout-button{font-size:.85rem !important; padding:1em 1.8em !important;}
.woocommerce form.woocommerce-cart-form .coupon input{margin-right:.5rem;}

/* ---------- Tunnel (checkout) ---------- */
.woocommerce-checkout h3{font-family:var(--hkm-serif) !important; font-weight:500;}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{padding-bottom:1rem;}
.woocommerce form .form-row label{font-size:.82rem; color:var(--hkm-ink-soft); font-weight:500;}
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--hkm-surface); border:1px solid var(--hkm-line); border-radius:var(--hkm-radius); padding:1.4rem;
}
.woocommerce-checkout #payment{background:var(--hkm-laiton-pale) !important; border-radius:var(--hkm-radius);}
.woocommerce-checkout #payment div.payment_box{background:var(--hkm-surface) !important;}
.woocommerce-checkout #place_order{width:100%; font-size:.9rem !important; padding:1.1em 1.8em !important;}

/* ---------- Mon compte ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{border:1px solid var(--hkm-line); border-radius:var(--hkm-radius); overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--hkm-line);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block; padding:.85em 1.1em; color:var(--hkm-ink); font-size:.9rem;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--hkm-ink); color:#fff;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--hkm-laiton-pale);}

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--hkm-terra) !important; border-radius:var(--hkm-radius);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--hkm-terra) !important;}
.woocommerce .button.wc-forward{background:var(--hkm-ink) !important;}
.woocommerce .button.wc-forward:hover{background:var(--hkm-terra) !important;}

/* ---------- Sidebar boutique : filtres premium ---------- */
.woocommerce .widget{margin-bottom:2rem;}
.widget-title,.woocommerce .widget .widgettitle,.secondary .widget-title{font-family:var(--hkm-serif) !important;font-weight:500 !important;font-size:1.05rem !important;color:var(--hkm-ink);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--hkm-line);}
.woocommerce .widget_layered_nav ul,.woocommerce .widget_layered_nav_filters ul{margin:0;padding:0;list-style:none;}
.woocommerce .widget_layered_nav ul li{padding:.35rem 0;border:none;}
.woocommerce .widget_layered_nav ul li a{color:var(--hkm-ink-soft);font-size:.9rem;transition:color .2s;}
.woocommerce .widget_layered_nav ul li a:hover{color:var(--hkm-terra);}
.woocommerce .widget_layered_nav ul li.chosen a{color:var(--hkm-terra);font-weight:600;}
.woocommerce .widget_layered_nav ul li.chosen a::before{content:"\00d7  ";color:var(--hkm-terra);}
.woocommerce .widget_layered_nav ul li .count{color:var(--hkm-laiton);font-size:.78rem;}
.woocommerce .widget_layered_nav_filters ul li a{background:var(--hkm-laiton-pale);color:var(--hkm-terra-dark);border-radius:3px;padding:.2rem .6rem;font-size:.8rem;display:inline-block;}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--hkm-line);border-radius:3px;}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{background:var(--hkm-terra);}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background:var(--hkm-ink);border-radius:50%;width:14px;height:14px;top:-5px;}
.woocommerce .widget_price_filter .price_slider_amount .button{font-size:.72rem !important;padding:.5em 1.1em !important;}
.woocommerce .widget_price_filter .price_slider_amount{font-size:.85rem;color:var(--hkm-ink-soft);}

/* ---------- Fiche artisan (page produit) ---------- */
.hk-artisan-card{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;border:1px solid var(--hkm-line);border-radius:var(--hkm-radius);background:var(--hkm-laiton-pale);padding:.85rem 1.1rem;margin:0 0 1.4rem;}
.hk-artisan-card__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--hkm-ink-soft);}
.hk-artisan-card__name{font-family:var(--hkm-serif);font-size:1.1rem;color:var(--hkm-ink);border-bottom:1px solid var(--hkm-laiton);}
.hk-artisan-card__name:hover{color:var(--hkm-terra);}
.hk-artisan-card__cert{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;color:var(--hkm-terra-dark);margin-left:auto;}
.hk-artisan-card__cert svg{color:var(--hkm-terra);}

/* ---------- Garanties (engagements) fiche produit ---------- */
.hk-guarantees{list-style:none;margin:1.4rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--hkm-line);display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;}
.hk-guarantees li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--hkm-ink-soft);}
.hk-guarantees li svg{color:var(--hkm-terra);flex-shrink:0;}
@media(max-width:480px){.hk-guarantees{grid-template-columns:1fr;}}

/* ---------- Boutique : sidebar étroite + grille aérée ---------- */
@media(min-width:922px){.ast-left-sidebar.woocommerce.archive #secondary{width:24% !important;}.ast-left-sidebar.woocommerce.archive #primary{width:73% !important;}}
.woocommerce.archive ul.products{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:1.8rem 1.6rem !important;}
.woocommerce.archive ul.products::before,.woocommerce.archive ul.products::after{content:none !important;display:none !important;}
.woocommerce.archive ul.products li.product{width:auto !important;margin:0 !important;float:none !important;}
@media(max-width:1024px){.woocommerce.archive ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:560px){.woocommerce.archive ul.products{grid-template-columns:1fr !important;}}
/* Filtre Collections (catégories) */
.woocommerce .widget_product_categories ul{margin:0;padding:0;list-style:none;}
.woocommerce .widget_product_categories li{padding:.35rem 0;border:none;}
.woocommerce .widget_product_categories li a{color:var(--hkm-ink-soft);font-size:.9rem;transition:color .2s;}
.woocommerce .widget_product_categories li a:hover{color:var(--hkm-terra);}
.woocommerce .widget_product_categories li.current-cat>a{color:var(--hkm-terra);font-weight:600;}
.woocommerce .widget_product_categories .count{color:var(--hkm-laiton);font-size:.78rem;}
/* État collection à venir */
.hk-soon-state{text-align:center;padding:3rem 1rem;max-width:540px;margin:0 auto;}
.hk-soon-state h2{font-family:var(--hkm-serif);font-weight:500;margin:.4rem 0 .8rem;}
.hk-soon-state p{color:var(--hkm-ink-soft);margin-bottom:1.4rem;}

/* ---------- Boutique : moins de vide latéral + produits plus grands (raffinement) ---------- */
.woocommerce.archive .site-content .ast-container,.woocommerce.archive #content .ast-container{max-width:1680px !important;}
@media(min-width:922px){.ast-left-sidebar.woocommerce.archive #secondary{width:16% !important;}.ast-left-sidebar.woocommerce.archive #primary{width:82% !important;}}
.woocommerce.archive ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:2rem 1.8rem !important;}
.woocommerce.archive ul.products li.product img{width:100%;}


/* === Boutique & archives : 2 colonnes sur mobile/tablette (override final 2026-06-18) === */
@media (max-width: 1024px){
  .woocommerce ul.products,
  .woocommerce.archive ul.products{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 1.4rem 1.2rem !important; }
}
@media (max-width: 600px){
  .woocommerce ul.products,
  .woocommerce.archive ul.products{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 1.1rem .8rem !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size: .95rem; }
  .woocommerce ul.products li.product .button{ font-size: .72rem; padding-left: .8rem; padding-right: .8rem; }
}
