/* ============================================================
   DENMAR-TECH · Hero avec cartes flottantes (composant global)
   ------------------------------------------------------------
   Extrait de home.css pour pouvoir réutiliser le hero sur
   n'importe quelle page (Accueil, Compagnie, Applications,
   Services…) via le modèle Elementor enregistré.
   Source : denmartech-maquette-hybride.html (section .hero)

   CHARGEMENT
   Chargé sur TOUT le site (voir functions.php,
   dmt_enqueue_styles, handle « dmt-hero »). Ne pas remettre de
   condition is_front_page() : le modèle perdrait ses styles
   hors de la page d'accueil.
   Dépend de tokens.css (handle « dmt-tokens ») pour les
   variables --navy, --orange, --yellow, --green, --ink,
   --slate, --border, --bg, --shadow-lg.

   UTILISATION DANS ELEMENTOR
   Coller les classes dans « Avancé → Classes CSS » de chaque
   conteneur / widget. Modèle prêt à importer :
   denmartech-hero-cartes-flottantes.json
   (Templates → Templates enregistrés → Importer).

   CLASSES
   Structure  : dm-hero · dm-hero__bottom (--flush)
   Texte      : dm-hero__eyebrow · dm-hero__star · dm-hero__title
                dm-hero__accent · dm-hero__lead · dm-hero__ctas
   Stats      : dm-hero__stats · dm-hero__stat
                dm-hero__stat-value · dm-hero__stat-label
   Visuel     : dm-hero__stack · dm-hero__img-main
                dm-hero__img-label
   Cartes     : dm-hero__card (--1, --2) · dm-hero__card-head
                dm-hero__card-thumb · dm-hero__card-sku
                dm-hero__card-name · dm-hero__meta
                dm-hero__stock · dm-hero__price-static
   Paliers    : dm-hero__tiers · dm-hero__tier (--best)
                dm-hero__tier-qty · dm-hero__tier-price
   Boutons    : dm-hero__btn-add (--outline)
                dm-btn-outline-onhero

   RESPONSIVE : points de rupture à 1100 px et 720 px
   (en bas du fichier).

   Après modification : augmenter DMT_CHILD_VERSION, vider
   WP Fastest Cache, puis Elementor → Outils → Régénérer CSS.
   ============================================================ */


.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__accent-plain{
  color: #e76f2c;
}
.btn-ghost-light {
    color: #fff;
    border-color: rgba(255, 255, 255, .35);
}
.btn-ghost-light:hover {
    background: rgba(255, 255, 255, .08);
    border-color: #fff;
}
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    border-radius: var(--r-lg);
    font-weight: 700;
    font-size: 14px;
    border: 2px solid transparent;
    transition: all .15s;
    white-space: nowrap;
}

.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);
}

/* ==========================================================================
   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; }
}
