/* ============================================================
   DENMAR-TECH · Page d'accueil — Hero avec cartes flottantes
   ------------------------------------------------------------
   Composant #6 de la matrice (denmartech-matrice-pile-technique.xlsx)
   Priorité : Critique · Plugin : Elementor Pro · Effort estimé : 6h
   Source : denmartech-maquette-hybride.html (section .hero)

   Chargé uniquement sur la page d'accueil (voir functions.php,
   dmt_enqueue_styles). Dépend de tokens.css pour les variables
   --navy, --orange, --yellow, --green, --ink, --slate, --border,
   --bg, --shadow-lg (déjà définies dans :root).

   Utilisation dans Elementor : coller les classes dm-hero__* dans
   "Avancé → Classes CSS" de chaque widget — voir
   denmartech-hero-cartes-flottantes.json pour le template prêt à
   importer (Templates → Templates enregistrés → Importer).
   ============================================================ */

.dm-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, var(--navy-3) 0%, var(--navy-2) 60%, var(--navy) 100%);
  color:#fff;
  padding:70px 0 30px;
  margin: 0 auto;
  gap:60px;
}

/* Textures de fond (dégradé radial + grille de points) */
.dm-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 85% 25%, rgba(231,111,44,.18), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(255,200,87,.10), transparent 40%);
  pointer-events:none;
}
.dm-hero::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:22px 22px;
  pointer-events:none;
}

/* ---------- Colonne gauche : contenu ---------- */
.dm-hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  padding:8px 16px; border-radius:30px;
  font-size:12.5px; font-weight:600;
  margin-bottom:24px; color:#fff;
  backdrop-filter:blur(10px);
}
.dm-hero__eyebrow .dm-hero__star{ color:var(--yellow); }

.dm-hero__title{
  font-family:var(--font-display), 'Space Grotesk', 'Inter', sans-serif;
  font-size:56px; line-height:1.04; font-weight:700;
  letter-spacing:-1.8px; margin-bottom:22px; color:#fff;
}
.dm-hero__accent{
  background:linear-gradient(135deg, var(--orange) 0%, var(--yellow) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-style:italic;
}

.dm-hero__lead{
  font-size:17.5px; opacity:.88; max-width:560px;
  margin-bottom:34px; line-height:1.6;
}

.dm-hero__ctas{ margin-bottom:42px; }

.dm-hero__stats{
  display:flex; gap:25px; flex-wrap:wrap;
  padding-top:24px; border-top:1px solid rgba(255,255,255,.1);
}
.dm-hero__stat{ display:flex; flex-direction:column; }
.dm-hero__stat .dm-hero__stat-value{
  font-family:var(--font-display), 'Space Grotesk', sans-serif; font-size:22px; font-weight:700; color:#fff;
}
.dm-hero__stat .dm-hero__stat-label{
  font-size:11.5px; color:rgba(255,255,255,.65); line-height:1.3; margin-top:2px;
}

/* ---------- Colonne droite : image + cartes flottantes ---------- */
.dm-hero__stack{
  position:relative;
  height:520px;
}

.dm-hero__img-main{
  position:absolute; top:0; right:0;
  width:88%; height:340px;
  border-radius:14px;
  background:linear-gradient(135deg,#476A8E,#1A3656);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
}
.dm-hero__img-main img{
  width:100%; height:100%; object-fit:cover;
}
.dm-hero__img-label{
  position:absolute; bottom:280px; left:18px;
  background:rgba(255,255,255,.65); color:var(--navy-2);
  padding:10px 16px; border-radius:6px;
  font-size:13px; font-weight:700;
  display:flex; align-items:center; gap:10px;
}
.dm-hero__img-label::before{
  content:"⚙"; font-size:22px; color:var(--orange);
}

/* Carte flottante — base commune */
.dm-hero__card{
  /*position:absolute;
  background:#fff;
  border-radius:12px;
  box-shadow:var(--shadow-lg);
  padding:18px;
  color:var(--ink);
  width:280px;
  z-index:2;*/
}
.dm-hero__card--1{ top:280px; left:0; width:300px; }
.dm-hero__card--2{ bottom:0; right:30px; width:240px; z-index:3; }

.dm-hero__card .dm-hero__card-head{
  display:flex; align-items:center; gap:12px; margin-bottom:14px;
}
.dm-hero__card .dm-hero__card-thumb{
  width:48px; height:48px; border-radius:6px;
  background:var(--bg);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; flex-shrink:0;color:#000;
}
.dm-hero__card .dm-hero__card-sku{
  font-family:var(--font-mono), 'IBM Plex Mono', monospace; font-size:11px;
  color:var(--slate); font-weight:600;
}
.dm-hero__card .dm-hero__card-name{
  font-size:13.5px; font-weight:700; color:var(--navy-2);
  line-height:1.3; margin-top:2px;
}

.dm-hero__tiers{ display:flex; gap:6px; margin-bottom:12px; }
.dm-hero__tier{ flex:1; background:var(--bg); border-radius:5px; padding:6px; text-align:center; }
.dm-hero__tier .dm-hero__tier-qty{
  font-size:10px; color:var(--slate); font-weight:600; text-transform:uppercase;
}
.dm-hero__tier .dm-hero__tier-price{
  font-family:var(--font-display), 'Space Grotesk', sans-serif; font-size:14px; font-weight:700;
  color:var(--navy); margin-top:2px;
}
.dm-hero__tier--best{ background:var(--navy); color:#fff; padding: 6px;
    text-align: center; flex: 1; border-radius: 6px; }
.dm-hero__tier--best .dm-hero__tier-qty{ color:rgba(255,255,255,.9); font-size:10px; }
.dm-hero__tier--best .dm-hero__tier-price{ color:var(--yellow); font-size:14px; }

.dm-hero__bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:10px; border-top:1px solid var(--border);
}
.dm-hero__bottom--flush{ border-top:0; padding-top:0; }

.dm-hero__stock{
  font-size:11.5px; color:var(--green); font-weight:600;
  display:flex; align-items:center; gap:6px;
}
.dm-hero__stock::before{
  content:""; width:7px; height:7px; background:var(--green); border-radius:50%;
}

.dm-hero__meta{ font-size:11.5px; color:var(--slate); margin-bottom:10px; }
.dm-hero__price-static{
  font-family:var(--font-display), 'Space Grotesk', sans-serif; font-size:18px; font-weight:800; color:var(--navy);
}

.dm-hero__btn-add{
  background:var(--orange); color:#fff; border:0;
  border-radius:5px; padding:7px 12px;
  font-size:12px; font-weight:700; cursor:pointer;
}
.dm-hero__btn-add--outline{
  background:transparent; color:var(--navy); border:1.5px solid var(--navy);
}
/* ---------- DUAL PATH ---------- */
.ico-big-1 {
    width: 60px;
    height: 60px;
    background: #ececec;
    color: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 20px;
}
.ico-big-2 {
    width: 60px;
    height: 60px;
    background: #FFC857;
    color: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 20px;
}
/* --------- TRUST STRIP ----------*/
.trust-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
}
.trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
}
.trust-ico {
    width: 44px;
    height: 44px;
    background: #fff;
    border: 1px solid var(--border);
    color: var(--navy);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.trust-item .t {
    font-weight: 700;
    font-size: 13.5px;
    line-height: 1.25;
    color: var(--navy-2);
}
.trust-item .s {
    font-size: 12px;
    color: var(--slate);
    margin-top: 2px;
}
/*---------- FEATURED PRODUCTS -----*/
.kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--orange);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-size: 11.5px;
    margin-bottom: 14px;
}
.kicker::before {
    content: "";
    width: 24px;
    height: 2px;
    background: var(--orange);
    border-radius: 2px;
}
/*---------- INDUSTRIES ---------*/
.ind-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}
.ind-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 22px 18px;
    text-align: center;
    cursor: pointer;
    transition: all .2s;
    position: relative;
}
.ind-card .ico {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: var(--navy-light);
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin: 0 auto 12px;
}
.ind-card h4 {
    font-size: 16px;
    color: var(--navy-2);
    font-weight: 700;
    margin-bottom: 4px;
}
.ind-card .count {
    font-size: 13px;
    color: var(--slate);
    white-space: nowrap;
}

/* ==========================================================================
   RESPONSIVE
   Amélioration par rapport à la maquette HTML d'origine : sous 1100px les
   cartes flottantes redeviennent statiques et s'empilent proprement au lieu
   de rester en position absolue (chevauchement dans la maquette d'origine).
   ========================================================================== */
@media (max-width:1100px){
  .dm-hero__stack{ height:auto; margin-top:20px; }
  .dm-hero__img-main{ position:relative; width:100%; margin-bottom:20px; }
  .dm-hero__card{ position:relative; top:auto; left:auto; right:auto; bottom:auto; width:100%; margin-bottom:16px; }
}

@media (max-width:720px){
  .dm-hero__title{ font-size:38px; }
  .dm-hero__stats{ gap:18px; }
}
