/*
Theme Name: GALAX-IT Shop
Theme URI: https://galax-it.fr/
Author: GALAX-IT
Description: Thème WooCommerce professionnel pour la vente de matériel informatique neuf et reconditionné.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: galax-shop
*/

:root {
  --galax-navy: #071a2b;
  --galax-navy-2: #0b263d;
  --galax-blue: #1164a3;
  --galax-blue-light: #e9f4fb;
  --galax-green: #2eb67d;
  --galax-green-dark: #178a5a;
  --galax-ink: #122333;
  --galax-muted: #5c6b77;
  --galax-border: #dce5eb;
  --galax-surface: #f5f8fa;
  --galax-white: #fff;
  --galax-shadow: 0 18px 44px rgba(7, 26, 43, .10);
  --galax-radius: 18px;
  --galax-container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--galax-white); color: var(--galax-ink); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; margin: 0; }
img { height: auto; max-width: 100%; }
a { color: var(--galax-blue); text-decoration: none; }
a:hover { color: var(--galax-green-dark); }
h1, h2, h3, h4 { color: var(--galax-navy); font-weight: 760; letter-spacing: -.035em; line-height: 1.12; margin: 0 0 .75em; }
h1 { font-size: clamp(2.5rem, 5.5vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.15rem; }
.galax-container { margin: 0 auto; max-width: var(--galax-container); padding-left: 24px; padding-right: 24px; width: 100%; }
.galax-kicker { color: var(--galax-green-dark); display: block; font-size: .78rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 1rem; text-transform: uppercase; }
.galax-section { padding: clamp(64px, 8vw, 112px) 0; }
.galax-section--soft { background: var(--galax-surface); }
.galax-section-heading { max-width: 760px; }
.galax-section-heading p { color: var(--galax-muted); font-size: 1.08rem; }
.galax-button, .button, button, input[type="submit"] { align-items: center; background: var(--galax-blue); border: 0; border-radius: 10px; color: #fff !important; cursor: pointer; display: inline-flex; font: inherit; font-weight: 750; justify-content: center; min-height: 48px; padding: .78rem 1.25rem; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.galax-button:hover, .button:hover, button:hover, input[type="submit"]:hover { background: var(--galax-green-dark); box-shadow: 0 10px 28px rgba(23, 138, 90, .22); color: #fff !important; transform: translateY(-1px); }
.galax-button--ghost { background: transparent; border: 1px solid rgba(255,255,255,.45); }
.galax-button--ghost:hover { background: rgba(255,255,255,.1); }
.galax-button--green { background: var(--galax-green); color: var(--galax-navy) !important; }

.galax-topbar { background: var(--galax-navy); color: #dbe7ef; font-size: .84rem; }
.galax-topbar__inner { align-items: center; display: flex; justify-content: space-between; min-height: 38px; }
.galax-topbar a { color: #fff; font-weight: 700; }
.galax-header { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--galax-border); position: sticky; top: 0; z-index: 100; }
.admin-bar .galax-header { top: 32px; }
.galax-header__inner { align-items: center; display: flex; gap: 28px; justify-content: space-between; min-height: 82px; }
.galax-brand { align-items: center; color: var(--galax-navy); display: inline-flex; font-size: 1.25rem; font-weight: 900; gap: 10px; letter-spacing: -.04em; }
.galax-brand__mark { align-items: center; background: linear-gradient(135deg, var(--galax-blue), var(--galax-green)); border-radius: 12px; color: #fff; display: inline-flex; font-size: .8rem; height: 42px; justify-content: center; letter-spacing: .02em; width: 42px; }
.custom-logo { max-height: 54px; width: auto; }
.galax-nav { align-items: center; display: flex; gap: 24px; }
.galax-nav ul { align-items: center; display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
.galax-nav a { color: var(--galax-ink); font-size: .94rem; font-weight: 700; }
.galax-nav a:hover { color: var(--galax-blue); }
.galax-header-actions { align-items: center; display: flex; gap: 10px; }
.galax-cart-link { align-items: center; background: var(--galax-surface); border-radius: 10px; color: var(--galax-navy); display: inline-flex; font-weight: 800; min-height: 46px; padding: .65rem .9rem; }
.galax-menu-toggle { background: var(--galax-navy); display: none; height: 44px; padding: 0; width: 44px; }

.galax-hero { background: radial-gradient(circle at 85% 15%, rgba(46,182,125,.22), transparent 32%), linear-gradient(135deg, #061727 0%, #0b2c47 62%, #0d4662 100%); color: #fff; overflow: hidden; padding: clamp(78px, 10vw, 140px) 0; position: relative; }
.galax-hero::after { border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; height: 620px; position: absolute; right: -270px; top: -260px; width: 620px; }
.galax-hero__grid { align-items: center; display: grid; gap: clamp(40px, 7vw, 100px); grid-template-columns: 1.2fr .8fr; position: relative; z-index: 2; }
.galax-hero h1 { color: #fff; max-width: 820px; }
.galax-hero h1 em { color: var(--galax-green); font-style: normal; }
.galax-hero__copy > p { color: #cddce7; font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 700px; }
.galax-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.galax-hero__panel { backdrop-filter: blur(16px); background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; padding: 28px; }
.galax-hero__panel h2 { color: #fff; font-size: 1.45rem; }
.galax-hero__stats { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); margin-top: 22px; }
.galax-stat { background: rgba(255,255,255,.09); border-radius: 14px; min-height: 104px; padding: 18px; }
.galax-stat strong { color: var(--galax-green); display: block; font-size: 1.65rem; }
.galax-stat span { color: #d7e4ed; font-size: .84rem; }

.galax-trust-strip { background: #fff; border-bottom: 1px solid var(--galax-border); }
.galax-trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.galax-trust-item { border-right: 1px solid var(--galax-border); padding: 24px; }
.galax-trust-item:last-child { border: 0; }
.galax-trust-item strong { color: var(--galax-navy); display: block; }
.galax-trust-item span { color: var(--galax-muted); font-size: .9rem; }

.galax-category-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); margin-top: 38px; }
.galax-category-card { background: #fff; border: 1px solid var(--galax-border); border-radius: var(--galax-radius); box-shadow: 0 10px 28px rgba(7,26,43,.05); color: var(--galax-ink); min-height: 230px; overflow: hidden; padding: 30px; position: relative; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.galax-category-card:hover { border-color: rgba(17,100,163,.35); box-shadow: var(--galax-shadow); transform: translateY(-4px); }
.galax-category-card__icon { align-items: center; background: var(--galax-blue-light); border-radius: 14px; color: var(--galax-blue); display: inline-flex; font-size: 1.35rem; height: 48px; justify-content: center; margin-bottom: 32px; width: 48px; }
.galax-category-card p { color: var(--galax-muted); font-size: .95rem; }
.galax-category-card__link { color: var(--galax-blue); font-weight: 800; }

.galax-split { align-items: center; display: grid; gap: clamp(36px, 8vw, 110px); grid-template-columns: 1fr 1fr; }
.galax-value-panel { background: linear-gradient(145deg, var(--galax-navy), var(--galax-navy-2)); border-radius: 28px; color: #fff; min-height: 480px; overflow: hidden; padding: clamp(32px, 5vw, 62px); position: relative; }
.galax-value-panel::after { background: radial-gradient(circle, rgba(46,182,125,.32), transparent 66%); content: ""; height: 330px; position: absolute; right: -80px; top: -70px; width: 330px; }
.galax-value-panel h2 { color: #fff; position: relative; z-index: 1; }
.galax-value-panel p { color: #cfdee8; position: relative; z-index: 1; }
.galax-check-list { display: grid; gap: 14px; list-style: none; margin: 28px 0 0; padding: 0; position: relative; z-index: 1; }
.galax-check-list li { align-items: flex-start; display: flex; gap: 12px; }
.galax-check-list li::before { align-items: center; background: var(--galax-green); border-radius: 50%; color: var(--galax-navy); content: "✓"; display: inline-flex; flex: 0 0 24px; font-size: .8rem; font-weight: 900; height: 24px; justify-content: center; margin-top: 1px; }
.galax-process { counter-reset: galax-step; display: grid; gap: 18px; }
.galax-process-item { border-bottom: 1px solid var(--galax-border); padding: 18px 0 18px 62px; position: relative; }
.galax-process-item::before { align-items: center; background: var(--galax-blue-light); border-radius: 50%; color: var(--galax-blue); content: counter(galax-step, decimal-leading-zero); counter-increment: galax-step; display: flex; font-size: .78rem; font-weight: 900; height: 44px; justify-content: center; left: 0; position: absolute; top: 16px; width: 44px; }
.galax-process-item p { color: var(--galax-muted); margin: 0; }

.galax-products { margin-top: 38px; }
.woocommerce ul.products { display: grid; gap: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { background: #fff; border: 1px solid var(--galax-border); border-radius: 16px; float: none; margin: 0; overflow: hidden; padding: 16px; position: relative; width: auto; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; background: var(--galax-surface); border-radius: 10px; object-fit: contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; min-height: 2.4em; }
.woocommerce ul.products li.product .price { color: var(--galax-blue); font-size: 1.08rem; font-weight: 850; }
.woocommerce span.onsale { background: var(--galax-green); color: var(--galax-navy); }
.woocommerce div.product { display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.2rem); }
.woocommerce div.product p.price { color: var(--galax-blue); font-size: 1.65rem; font-weight: 850; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--galax-green); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--galax-green-dark); }
.woocommerce .quantity .qty { border: 1px solid var(--galax-border); border-radius: 8px; min-height: 48px; }

.galax-cta { background: linear-gradient(120deg, var(--galax-blue), #0b4f7d); border-radius: 28px; color: #fff; display: grid; gap: 30px; grid-template-columns: 1fr auto; padding: clamp(34px, 6vw, 68px); }
.galax-cta h2 { color: #fff; margin-bottom: .35em; }
.galax-cta p { color: #d9e9f4; margin: 0; max-width: 720px; }
.galax-cta__actions { align-items: center; display: flex; gap: 12px; }

.galax-content { padding: 70px 0 100px; }
.galax-content__inner { max-width: 920px; }
.galax-page-header { background: var(--galax-surface); border-bottom: 1px solid var(--galax-border); padding: 58px 0; }
.galax-page-header h1 { font-size: clamp(2.2rem, 5vw, 4rem); margin: 0; }

.galax-footer { background: var(--galax-navy); color: #bed0dd; margin-top: 80px; padding: 72px 0 28px; }
.galax-footer h3 { color: #fff; font-size: 1rem; letter-spacing: 0; }
.galax-footer a { color: #d7e4ed; }
.galax-footer a:hover { color: var(--galax-green); }
.galax-footer__grid { display: grid; gap: 46px; grid-template-columns: 1.4fr repeat(3, 1fr); }
.galax-footer ul { list-style: none; margin: 0; padding: 0; }
.galax-footer li { margin-bottom: .55rem; }
.galax-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); display: flex; font-size: .84rem; justify-content: space-between; margin-top: 56px; padding-top: 24px; }
.galax-footer__legal { display: flex; gap: 18px; }

@media (max-width: 1020px) {
  .galax-menu-toggle { display: inline-flex; }
  .galax-nav { background: #fff; border-bottom: 1px solid var(--galax-border); box-shadow: var(--galax-shadow); display: none; left: 0; padding: 24px; position: absolute; right: 0; top: 82px; }
  .galax-nav.is-open { display: block; }
  .galax-nav ul { align-items: flex-start; flex-direction: column; gap: 14px; }
  .galax-header-actions .galax-button { display: none; }
  .galax-hero__grid, .galax-split { grid-template-columns: 1fr; }
  .galax-category-grid { grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .galax-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .admin-bar .galax-header { top: 46px; }
  .galax-topbar__inner { justify-content: center; }
  .galax-topbar__inner span:first-child { display: none; }
  .galax-header__inner { min-height: 70px; }
  .galax-nav { top: 70px; }
  .galax-cart-link { font-size: 0; }
  .galax-cart-link::before { content: "Panier"; font-size: .82rem; }
  .galax-hero { padding: 68px 0; }
  .galax-hero__stats, .galax-category-grid, .galax-trust-strip__grid, .woocommerce ul.products, .galax-footer__grid { grid-template-columns: 1fr; }
  .galax-trust-item { border-bottom: 1px solid var(--galax-border); border-right: 0; }
  .galax-cta { grid-template-columns: 1fr; }
  .galax-cta__actions { align-items: stretch; flex-direction: column; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .galax-footer__bottom { flex-direction: column; gap: 16px; }
  .galax-footer__legal { flex-wrap: wrap; }
}
