/*
Theme Name: Horizon Distribution
Theme URI: https://horizon-distri.fr/
Author: Horizon Distribution
Description: Thème WooCommerce B2B sombre et premium pour Horizon Distribution.
Version: 1.0.6
Text Domain: horizon-distribution
*/

:root{
  --hz-bg:#07090d;
  --hz-bg-soft:#0d1118;
  --hz-card:#111722;
  --hz-card-2:#151c29;
  --hz-text:#f7f8fb;
  --hz-muted:#aab2c0;
  --hz-line:#263244;
  --hz-cyan:#28e4ff;
  --hz-blue:#4a74ff;
  --hz-purple:#9c4dff;
  --hz-pink:#ff4fb7;
  --hz-radius:18px;
  --hz-shadow:0 24px 80px rgba(0,0,0,.35);
  --hz-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hz-bg);color:var(--hz-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.hz-wrap{width:min(calc(100% - 40px),var(--hz-max));margin-inline:auto}
.hz-topbar{border-bottom:1px solid rgba(255,255,255,.07);background:#05070a;color:#cbd2dc;font-size:13px}
.hz-topbar .hz-wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:8px 0}
.hz-topbar strong{color:#fff}
.hz-header{position:sticky;top:0;z-index:999;background:rgba(7,9,13,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.hz-header-inner{display:grid;grid-template-columns:220px 1fr auto;gap:28px;align-items:center;padding:14px 0}
.hz-brand img{width:190px;max-height:72px;object-fit:contain;object-position:left center}
.hz-nav ul{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center;margin:0;padding:0;list-style:none}
.hz-nav a{font-size:14px;font-weight:700;color:#dce2ec;transition:.2s ease}
.hz-nav a:hover{color:#fff;text-shadow:0 0 22px rgba(40,228,255,.55)}

/* Panier visible pour les clients pros connectés */
.hz-cart-button-wrap{display:inline-flex}
.hz-cart-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #33445c;
  background:#0c121b;
  color:#f7f8fb;
  font-weight:850;
  white-space:nowrap;
  transition:.2s ease;
}
.hz-cart-btn:hover{
  border-color:#4d8fff;
  background:#111a27;
  box-shadow:0 0 24px rgba(40,228,255,.12);
}
.hz-cart-count{
  min-width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--hz-cyan),var(--hz-purple));
  color:#081018;
  font-size:12px;
  line-height:1;
  font-weight:950;
}

.hz-actions{display:flex;gap:10px;align-items:center}
.hz-btn,.button,button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer;background:linear-gradient(110deg,var(--hz-cyan),var(--hz-blue) 45%,var(--hz-purple));color:#071018!important;box-shadow:0 10px 32px rgba(60,126,255,.22);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.hz-btn:hover,.button:hover,button:hover,input[type=submit]:hover{transform:translateY(-1px);filter:saturate(1.12);box-shadow:0 14px 38px rgba(60,126,255,.30)}
.hz-btn.secondary{background:transparent;color:#fff!important;border:1px solid #34445c;box-shadow:none}
.hz-btn.secondary:hover{border-color:#5c7ba7;background:rgba(255,255,255,.03)}
.hz-hero{position:relative;overflow:hidden;padding:96px 0 78px;background:
radial-gradient(circle at 18% 20%,rgba(40,228,255,.13),transparent 28%),
radial-gradient(circle at 78% 12%,rgba(156,77,255,.15),transparent 27%),
linear-gradient(180deg,#080b11 0%,#07090d 100%)}
.hz-hero:before{content:"";position:absolute;inset:auto -10% -45% 30%;height:560px;background:radial-gradient(ellipse,rgba(255,79,183,.13),transparent 68%);pointer-events:none}
.hz-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hz-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 11px;border-radius:999px;border:1px solid #27344a;background:rgba(255,255,255,.025);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#cfefff}
.hz-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hz-cyan);box-shadow:0 0 16px var(--hz-cyan)}
.hz-hero h1{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.05em;margin:20px 0 22px;max-width:820px}
.hz-gradient-text{background:linear-gradient(95deg,#fff 0%,#bffaff 26%,#6aa8ff 55%,#d073ff 78%,#ff9bd5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hz-hero p{font-size:19px;color:#b7c1cf;max-width:720px;margin:0 0 30px}
.hz-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hz-hero-card{position:relative;border:1px solid rgba(255,255,255,.09);border-radius:32px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:var(--hz-shadow);overflow:hidden}
.hz-hero-card:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,rgba(40,228,255,.6),transparent 32%,rgba(156,77,255,.55) 76%,rgba(255,79,183,.35));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hz-hero-logo{display:block;width:min(100%,520px);margin:auto;filter:drop-shadow(0 20px 50px rgba(0,0,0,.55))}
.hz-section{padding:78px 0}
.hz-section.alt{background:#0a0e15;border-block:1px solid rgba(255,255,255,.06)}
.hz-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}
.hz-section h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.035em;margin:0}
.hz-section-head p{max-width:620px;color:var(--hz-muted);margin:0}
.hz-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hz-category{min-height:220px;padding:28px;border-radius:var(--hz-radius);border:1px solid var(--hz-line);background:linear-gradient(145deg,var(--hz-card),#0c121c);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.hz-category:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-100px;background:radial-gradient(circle,rgba(40,228,255,.18),transparent 65%)}
.hz-category:nth-child(2):before{background:radial-gradient(circle,rgba(156,77,255,.18),transparent 65%)}
.hz-category:nth-child(3):before{background:radial-gradient(circle,rgba(255,79,183,.17),transparent 65%)}
.hz-category h3{font-size:26px;margin:0 0 6px}
.hz-category p{color:var(--hz-muted);margin:0 0 14px}
.hz-category span{font-weight:900;color:#d8faff}
.hz-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hz-step{padding:26px;border:1px solid var(--hz-line);border-radius:var(--hz-radius);background:var(--hz-card)}
.hz-step-num{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#112840,#24153e);font-weight:950;color:#dffaff;border:1px solid #315171;margin-bottom:18px}
.hz-step h3{margin:0 0 8px;font-size:21px}
.hz-step p{margin:0;color:var(--hz-muted)}
.hz-b2b-banner{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;border:1px solid #314157;border-radius:26px;padding:36px;background:linear-gradient(130deg,#0d1725,#17112a);box-shadow:var(--hz-shadow)}
.hz-b2b-banner h2{margin-bottom:12px}
.hz-b2b-banner p{color:#bcc6d4;margin:0;max-width:720px}
.hz-content{padding:60px 0;min-height:60vh}
.hz-content .entry-title{font-size:clamp(34px,5vw,56px);letter-spacing:-.04em;margin:0 0 24px}
.hz-pro-form,.hz-contact-form,.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout{padding:26px;border-radius:20px;border:1px solid var(--hz-line);background:var(--hz-card);max-width:920px}
.hz-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hz-field{display:flex;flex-direction:column;gap:7px}
.hz-field.full{grid-column:1/-1}
.hz-field label{font-size:13px;font-weight:800;color:#dbe3ee}
.hz-field input,.hz-field textarea,.hz-field select,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{width:100%;border:1px solid #314057;background:#0b1018;color:#fff;border-radius:12px;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.hz-field input:focus,.hz-field textarea:focus,.woocommerce input.input-text:focus{border-color:#4d8fff;box-shadow:0 0 0 4px rgba(77,143,255,.12)}
.hz-note{padding:14px 16px;border:1px solid #2d435d;border-radius:14px;background:#0a1622;color:#d6e8f7;margin:16px 0}
.hz-note.success{border-color:#265d4f;background:#092019;color:#c8f6e9}
.hz-note.error{border-color:#6f3344;background:#220b12;color:#ffd8e1}
.horizon-price-locked{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;background:#101824;border:1px solid #2c3b51;color:#e1e8f3;font-weight:800;font-size:13px}
.horizon-price-locked:before{content:"🔒";font-size:12px}
.horizon-pending-price{display:inline-flex;border-radius:999px;padding:8px 12px;background:#21190b;border:1px solid #5d4620;color:#ffe5a9;font-weight:800;font-size:13px}
.horizon-pack-info{margin:14px 0;padding:12px 14px;border-radius:13px;border:1px solid #2a3c54;background:#0b131e;color:#cbd7e6;font-size:14px}
.horizon-pack-info strong{color:#fff}
.woocommerce{color:var(--hz-text)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;border:1px solid var(--hz-line);border-radius:18px;background:var(--hz-card);padding:14px;overflow:hidden;transition:transform .2s ease,border-color .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:#3d526e}
.woocommerce ul.products li.product a img{border-radius:13px;background:#090d13;aspect-ratio:1/1;object-fit:cover;margin-bottom:16px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff;font-size:17px!important;padding:0!important;margin-bottom:7px!important}
.woocommerce ul.products li.product .price{color:#d9f9ff!important;font-size:15px!important;font-weight:900!important}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:auto!important}
.woocommerce div.product div.images img{border-radius:20px;background:#0b0f16}
.woocommerce div.product .product_title{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.04em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#d8faff!important;font-size:24px!important;font-weight:900}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:14px;background:#0e1823;color:#fff;border:1px solid #2c4158;border-top:1px solid #2c4158;padding:16px 18px 16px 48px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--hz-cyan)}
.woocommerce table.shop_table{border-color:#2d3b50;border-radius:14px;background:#0d121a}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:#263347}
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-MyAccount-content{color:#e8edf4}
.woocommerce a.remove{color:#ff7fae!important}
.hz-footer{border-top:1px solid rgba(255,255,255,.08);padding:48px 0 20px;background:#05070a}
.hz-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
.hz-footer-logo{width:180px;margin-bottom:16px}
.hz-footer p,.hz-footer li,.hz-footer a{color:#9faab8;font-size:14px}
.hz-footer h4{margin:0 0 13px;font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.hz-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.hz-footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;gap:20px;color:#707c8c;font-size:12px}
.hz-legal-warning{margin-top:14px;padding:12px;border-radius:12px;background:#0d1118;border:1px solid #283447;color:#aeb7c3;font-size:12px}
@media(max-width:1050px){
 .hz-header-inner{grid-template-columns:170px 1fr auto;gap:16px}.hz-brand img{width:160px}.hz-nav ul{gap:14px}.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:820px){
 .hz-topbar .hz-wrap{display:block;text-align:center}.hz-header-inner{grid-template-columns:1fr auto}.hz-nav{grid-column:1/-1;order:3;overflow-x:auto}.hz-nav ul{justify-content:flex-start;flex-wrap:nowrap;padding-bottom:4px}.hz-nav li{white-space:nowrap}.hz-actions .hz-mobile-hide{display:none}.hz-hero{padding:64px 0}.hz-hero-grid{grid-template-columns:1fr}.hz-hero-card{max-width:560px}.hz-category-grid,.hz-steps{grid-template-columns:1fr}.hz-b2b-banner{grid-template-columns:1fr}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}.woocommerce div.product{grid-template-columns:1fr}.hz-footer-grid{grid-template-columns:1fr 1fr}.hz-form-grid{grid-template-columns:1fr}.hz-field.full{grid-column:auto}
}
@media(max-width:560px){
 .hz-wrap{width:min(calc(100% - 26px),var(--hz-max))}.hz-header-inner{padding:10px 0}.hz-brand img{width:145px}.hz-actions .hz-btn{padding:10px 13px;font-size:12px}.hz-cart-btn{padding:10px 12px;font-size:12px}.hz-cart-count{min-width:21px;height:21px;font-size:11px}.hz-hero h1{font-size:44px}.hz-section{padding:54px 0}.woocommerce ul.products{grid-template-columns:1fr!important}.hz-footer-grid{grid-template-columns:1fr}.hz-footer-bottom{display:block}.hz-form-grid{gap:12px}
}


@media(max-width:420px){
  .hz-header-inner{grid-template-columns:105px 1fr;gap:8px}
  .hz-brand img{width:105px}
  .hz-actions{gap:6px;justify-content:flex-end}
  .hz-actions .hz-btn{padding:9px 10px;font-size:11px}
  .hz-cart-btn{padding:9px 10px;font-size:11px}
}


/* Horizon — page Mon compte WooCommerce */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account form.login,
.woocommerce-account form.register {
  color:#f5f7fb;
}
.woocommerce-account form.login,
.woocommerce-account form.register {
  background:#0d131d;
  border:1px solid #263246;
  border-radius:16px;
  padding:24px;
}
.woocommerce-account form.login input.input-text,
.woocommerce-account form.register input.input-text {
  background:#0a0f17 !important;
  color:#fff !important;
  border:1px solid #33435a !important;
  border-radius:10px !important;
  padding:12px 14px !important;
}
.woocommerce-account form.login input.input-text:focus,
.woocommerce-account form.register input.input-text:focus {
  border-color:#43d5ff !important;
  box-shadow:0 0 0 3px rgba(67,213,255,.12) !important;
}
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button {
  border:0 !important;
  border-radius:999px !important;
  padding:12px 18px !important;
  font-weight:800 !important;
  color:#081018 !important;
  background:linear-gradient(90deg,#43d5ff,#a451ff) !important;
}
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .woocommerce a {
  color:#58caff;
}


/* Horizon — navigation visuelle catalogue */
.hz-catalogue-nav{margin:0 0 34px}
.hz-catalogue-nav-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}
.hz-catalogue-nav-head h2{font-size:clamp(24px,3vw,34px);margin:0;letter-spacing:-.025em}
.hz-catalogue-nav-head p{margin:0;color:var(--hz-muted);max-width:620px}
.hz-catalogue-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hz-catalogue-cards.models{grid-template-columns:repeat(4,minmax(0,1fr))}
.hz-cat-card{position:relative;min-height:150px;padding:20px;border:1px solid var(--hz-line);border-radius:18px;background:linear-gradient(145deg,#0f1621,#0a0f17);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:.2s ease}
.hz-cat-card:before{content:"";position:absolute;inset:auto -45px -80px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(40,228,255,.18),transparent 68%)}
.hz-cat-card:nth-child(2n):before{background:radial-gradient(circle,rgba(156,77,255,.18),transparent 68%)}
.hz-cat-card:nth-child(3n):before{background:radial-gradient(circle,rgba(255,79,183,.16),transparent 68%)}
.hz-cat-card:hover{transform:translateY(-3px);border-color:#405b7b;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.hz-cat-card small{position:relative;color:#7f8b9d;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:900;margin-bottom:6px}
.hz-cat-card strong{position:relative;color:#fff;font-size:19px;line-height:1.15}
.hz-cat-card span{position:relative;color:#bcd4e6;font-size:12px;margin-top:9px;font-weight:700}
.hz-home-subcats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hz-home-subcats a{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid #2e3c50;background:#0b1119;color:#b9c7d8;font-size:12px;font-weight:800}
.hz-home-subcats a:hover{color:#fff;border-color:#4c6b91}
@media(max-width:980px){.hz-catalogue-cards.models{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hz-catalogue-cards,.hz-catalogue-cards.models{grid-template-columns:1fr}.hz-cat-card{min-height:118px}}
