/* IDRA Environnement — styles du site */

  /* Unité de design : 1vw en mobile ; sur desktop, même échelle que la maquette 1920,
     plafonnée (écran >= 2560 px) et planchée à 17.5 px (laptops 13-16"). Toutes les tailles
     inline du HTML sont exprimées en calc(N * var(--u)). */
  :root {
    --u: 1vw;
    --content: min(calc(62 * var(--u)), 94vw); /* largeur du contenu principal */
    --nav-max: calc(92 * var(--u));     /* largeur max de la top nav (> contenu) */
    --inset: calc(2.4 * var(--u));      /* décollement des cartes texte par rapport aux bords */
  }
  @media (min-width: 1101px) {
    :root { --u: clamp(17.5px, 1vw, 25.6px); }
  }

  html, body { margin: 0; padding: 0; background: #f5f5f5; scroll-behavior: smooth; }
  * { box-sizing: border-box; }
  a { color: #ee791b; text-decoration: none; transition: color .18s ease; }
  a:hover { color: #ee791b; }
  ::placeholder { color: #31484b; opacity: 1; font-style: italic; letter-spacing: 0.1em; }
  @keyframes idraFade { from { opacity: 0 } to { opacity: 1 } }
  @keyframes idraSlideR { from { opacity: 0; transform: translateX(60px) } to { opacity: 1; transform: none } }
  @keyframes idraSlideL { from { transform: translateX(-100%) } to { transform: none } }
  @keyframes idraUnfold { from { grid-template-rows: 0fr; opacity: 0 } to { grid-template-rows: 1fr; opacity: 1 } }
  @keyframes idraLoaderPulse { 0%, 100% { opacity: .55; transform: scale(.96) } 50% { opacity: 1; transform: scale(1) } }
  @keyframes idraStepIn { from { opacity: 0; transform: scale(.72) } to { opacity: 1; transform: none } }
  @keyframes idraPinIn { from { opacity: 0; transform: translateY(-14px) scale(.7) } to { opacity: 1; transform: none } }
  @keyframes idraLabelIn { from { opacity: 0; transform: translate(-0.7vw, -50%) } to { opacity: 1; transform: translate(0, -50%) } }
  @keyframes idraCardIn { from { opacity: 0; transform: translateY(14px) } to { opacity: 1; transform: none } }
  @keyframes idraAccIn { from { opacity: 0; transform: translateX(0.9vw) } to { opacity: 1; transform: none } }
  @media (max-width: 1100px) {
    [data-nav-desktop] { display: none !important; }
    [data-nav-toggle] { display: inline-flex !important; }
    .menu-open [data-nav-toggle] { visibility: hidden !important; }
    [data-menu-btn] { padding: clamp(6px, 1.6vw, 9px) clamp(12px, 3.2vw, 18px) !important; font-size: clamp(11px, 2.4vw, 13px) !important; letter-spacing: 0.18em !important; border-width: 1.5px !important; border-radius: 4px !important; gap: 0 !important; }
    [data-logo] { height: 17vw !important; }
    [data-hero] { height: auto !important; aspect-ratio: auto !important; background-position: center top !important; padding-bottom: 9vw; }
    [data-nav-bar] { position: static !important; max-width: none !important; align-items: center !important; padding: 5vw 5vw 6vw !important; gap: 3vw !important; }
    [data-nav-actions], [data-nav-action] { display: none !important; }

    [data-acc-arrow] { width: 11vw !important; height: 11vw !important; }
    [data-acc-arrow] svg { width: 5.6vw !important; height: 5.6vw !important; }
    [data-schema-toggle] { padding: 3vw 0 !important; min-height: 12vw !important; align-items: center !important; }
    [data-schema-toggle] svg { width: 8vw !important; height: 7vw !important; }
    [data-acc-list] { gap: 3.4vw !important; }
    [data-pin] { width: 11vw !important; height: 16vw !important; }
    [data-pin-label] { font-size: 2.8vw !important; gap: 3vw !important; padding: 2.4vw 3vw !important; }
    [data-pin-label] i { font-size: 3.2vw !important; }
    [data-pin-label-left] { left: auto !important; right: 52% !important; }
    [data-ec-back] { width: 12vw !important; height: 29vw !important; }
    [data-hero-card] { position: static !important; transform: none !important; width: 92% !important; height: auto !important; margin: 0 auto !important; flex-direction: column !important; padding: 7vw 6vw !important; gap: 6vw !important; }
    [data-hero-media] { width: 100% !important; height: 62vw !important; }
    [data-stack] { aspect-ratio: auto !important; width: 92% !important; display: flex !important; flex-direction: column !important; margin-top: 14vw !important; }
    [data-abs] { position: static !important; left: auto !important; top: auto !important; width: 100% !important; height: auto !important; transform: none !important; }
    [data-media] { height: 62vw !important; }
    [data-card] { position: static !important; width: 100% !important; min-height: 0 !important; padding: 7vw 6vw !important; background: #ffffff !important; }
    [data-h1] { font-size: 7.4vw !important; }
    [data-h2] { font-size: 6.4vw !important; }
    [data-h3] { width: 100% !important; margin-left: 0 !important; font-size: 4.8vw !important; margin-top: 7vw !important; }
    [data-h3-invert] { color: #31484b !important; }
    [data-body] { font-size: 3.8vw !important; max-width: none !important; }
    [data-cta] { font-size: 3.2vw !important; padding: 2.6vw 6vw !important; }
    [data-eyebrow] { font-size: 3.1vw !important; }
    [data-small] { font-size: 2.5vw !important; }
    [data-sols-col] { width: 100% !important; padding-top: 0 !important; }
    [data-icons] { width: 100% !important; margin-left: 0 !important; gap: 3vw !important; margin-top: 8vw !important; }
    [data-step] { height: 13vw !important; }
    [data-step] img { height: 13vw !important; max-width: 100% !important; }
    [data-step-label] { font-size: 2.2vw !important; letter-spacing: 0.06em !important; }
    [data-step-arrow] { height: 5vw !important; }
    [data-certs] { gap: 6vw !important; margin-top: 7vw !important; }
    [data-cert-lne] { height: 17vw !important; }
    [data-cert-mase] { height: 8vw !important; }
    [data-artesa] { height: 9vw !important; }
    [data-footer] { padding: 14vw 6vw 8vw !important; }
    [data-foot-grid] { grid-template-columns: 1fr !important; width: 90% !important; gap: 12vw !important; }
    [data-foot-col] { flex-direction: column !important; align-items: center !important; gap: 6vw !important; }
    [data-foot-cube] { width: 30vw !important; }
    [data-foot-map] { width: 46vw !important; }
    [data-foot-seal] { width: 20vw !important; }
    [data-foot-text] { font-size: 3.4vw !important; max-width: none !important; }
    [data-foot-body] { font-size: 3.6vw !important; }
    [data-cgu] { font-size: 3vw !important; }
    [data-foot-social] { width: 8vw !important; height: 8vw !important; }
    [data-top] { width: clamp(32px, 7vw, 38px) !important; height: clamp(32px, 7vw, 38px) !important; gap: 2px !important; right: clamp(12px, 3vw, 18px) !important; bottom: clamp(12px, 3vw, 18px) !important; box-shadow: 0 2px 8px rgba(49,72,75,0.28) !important; }
    [data-top-arrow] { width: clamp(9px, 2vw, 11px) !important; height: clamp(5px, 1.1vw, 6px) !important; }
    [data-top-label] { font-size: clamp(6px, 1.3vw, 7px) !important; }
    [data-modal] { width: 100vw !important; height: 100vh !important; height: 100dvh !important; max-height: none !important; aspect-ratio: auto !important; box-shadow: none !important; grid-template-columns: none !important; display: flex !important; flex-direction: column !important; overflow-y: auto !important; overscroll-behavior: contain !important; -webkit-overflow-scrolling: touch; padding: clamp(18px, 5vw, 28px) clamp(16px, 5vw, 32px) clamp(20px, 6vw, 36px) !important; gap: clamp(14px, 4vw, 22px) !important; }
    [data-modal-bg], [data-modal-tint] { position: fixed !important; z-index: 0 !important; }
    [data-modal-bg] { inset: -12vw !important; background-size: cover !important; background-position: center !important; filter: blur(6vw) saturate(1.5) !important; }
    [data-modal-tint] { inset: 0 !important; }
    [data-modal-left] { flex: 0 0 auto !important; padding-right: clamp(44px, 11vw, 56px); }
    [data-modal-right] { flex: 1 1 auto !important; gap: clamp(8px, 2.4vw, 12px) !important; }
    [data-modal-close] { position: fixed !important; top: clamp(12px, 4vw, 20px) !important; right: clamp(12px, 4vw, 20px) !important; z-index: 5 !important; width: clamp(34px, 9vw, 42px) !important; height: clamp(34px, 9vw, 42px) !important; background: rgba(34,55,58,0.85) !important; }
    [data-modal-title] { font-size: clamp(22px, 6vw, 30px) !important; margin: 0 0 clamp(8px, 2.4vw, 12px) !important; }
    [data-modal-text] { font-size: clamp(12px, 3vw, 14px) !important; line-height: 1.5 !important; }
    [data-modal-text] + [data-modal-text] { margin-top: clamp(6px, 2vw, 10px) !important; }
    [data-modal-phone] { display: none !important; }
    [data-field] { font-size: clamp(13px, 3.2vw, 15px) !important; padding-left: clamp(12px, 3.5vw, 16px) !important; padding-right: clamp(12px, 3.5vw, 16px) !important; }
    [data-input] { height: clamp(40px, 10vw, 46px) !important; flex: 0 0 auto !important; }
    [data-textarea] { flex: 1 1 auto !important; min-height: clamp(120px, 30vw, 180px) !important; padding-top: clamp(10px, 3vw, 14px) !important; padding-bottom: clamp(10px, 3vw, 14px) !important; }
    [data-send] { width: clamp(140px, 38vw, 170px) !important; height: clamp(40px, 10vw, 46px) !important; flex: 0 0 auto !important; }
    [data-send] > div:last-child { width: clamp(40px, 10vw, 46px) !important; }
    [data-send] svg { width: clamp(16px, 4vw, 20px) !important; height: clamp(12px, 3vw, 15px) !important; }
    [data-send-label] { font-size: clamp(13px, 3.2vw, 15px) !important; padding-left: clamp(16px, 4.5vw, 22px) !important; }
    [data-form-message] { font-size: clamp(12px, 3vw, 14px) !important; }
    [data-thanks] { flex: 1 1 auto !important; min-height: 60vh !important; gap: clamp(14px, 4vw, 20px) !important; }
    [data-thanks-icon] { width: clamp(64px, 18vw, 84px) !important; height: clamp(64px, 18vw, 84px) !important; box-shadow: 0 0 0 clamp(6px, 1.6vw, 8px) rgba(47,191,113,0.28) !important; }
    [data-thanks-title] { font-size: clamp(18px, 5vw, 24px) !important; }
    [data-thanks-text] { font-size: clamp(13px, 3.2vw, 15px) !important; }
  }

  .hhv1:hover{color:#ee791b !important}
  .hhv2:hover{color:#ee791b !important}
  .hhv3:hover{color:#ee791b !important}
  .hhv4:hover{color:#ee791b !important}
  .hhv5:hover{color:#ee791b !important}
  .hhv6:hover{border-color:#ee791b !important;color:#ee791b !important}
  .hhv7:hover{background:#ee791b !important}
  .hhv8:hover{background:#ee791b !important}
  .hhv9:hover{background:#31484b !important}
  .hhv10:hover{transform:translate(36%,-50%) !important}
  .hhv11:hover{transform:translateY(0.2vw) !important}
  .hhv12:hover{transform:scale(1.12) !important;background:#31484b !important}
  .hhv13:hover{transform:scale(1.12) !important;background:#31484b !important}
  .hhv14:hover{color:#ee791b !important}
  .hhv15:hover{color:#ee791b !important}
  .hhv16:hover{background:#ee791b !important}
  .hhv17:hover{color:#ee791b !important}
  .hhv18:hover{background:#31484b !important;transform:translateY(-0.3vw) !important;box-shadow:0 0.6vw 1.6vw rgba(49,72,75,0.38) !important}
  .hhv19:hover{background:rgba(238,121,27,0.16) !important}
  .hhv20:hover{color:#ee791b !important}
  .hhv21:hover{color:#ee791b !important}
  .hhv22:hover{color:#ee791b !important}
  .hhv23:hover{color:#ee791b !important}
  .hhv24:hover{color:#ee791b !important}
  .hhv25:hover{background:rgba(238,121,27,0.16) !important}
  .hhv26:hover{color:#ee791b !important}
  .hhv27:hover{color:#ee791b !important}
  .hhv28:hover{color:#ee791b !important}

/* ---------- page CGU ---------- */

  html, body { margin: 0; padding: 0; background: #ffffff; }
  * { box-sizing: border-box; }
  a { color: #ee791b; text-decoration: none; transition: color .18s ease; }
  a:hover { color: #ee791b; }
  @keyframes idraFade { from { opacity: 0 } to { opacity: 1 } }
  @keyframes idraSlideL { from { transform: translateX(-100%) } to { transform: none } }
  @media (max-width: 1100px) {
    [data-nav-desktop] { display: none !important; }
    [data-nav-toggle] { display: inline-flex !important; }
    .menu-open [data-nav-toggle] { visibility: hidden !important; }
    [data-menu-btn] { padding: clamp(6px, 1.6vw, 9px) clamp(12px, 3.2vw, 18px) !important; font-size: clamp(11px, 2.4vw, 13px) !important; letter-spacing: 0.18em !important; border-width: 1.5px !important; border-radius: 4px !important; gap: 0 !important; }
    [data-logo] { height: 17vw !important; }
    [data-nav-actions], [data-nav-action] { display: none !important; }
    [data-nav-bar] { max-width: none !important; align-items: center !important; padding: 5vw 5vw 6vw !important; gap: 3vw !important; }
    [data-cgu-body] { width: 94% !important; padding: 10vw 6vw 14vw !important; }
    [data-cgu-title] { font-size: 5.6vw !important; margin-bottom: 9vw !important; }
    [data-cgu-domain] { white-space: normal !important; overflow-wrap: anywhere !important; }
    [data-art-head] { font-size: 4.2vw !important; }
    [data-art-text], [data-art-item] { font-size: 3.7vw !important; }
    [data-art] { margin-bottom: 8vw !important; }
    [data-footer] { padding: 14vw 6vw 8vw !important; }
    [data-foot-grid] { grid-template-columns: 1fr !important; width: 90% !important; gap: 12vw !important; }
    [data-foot-col] { flex-direction: column !important; align-items: center !important; gap: 6vw !important; }
    [data-foot-cube] { width: 30vw !important; }
    [data-foot-map] { width: 46vw !important; }
    [data-foot-seal] { width: 20vw !important; }
    [data-eyebrow] { font-size: 3.1vw !important; }
    [data-foot-text] { font-size: 3.4vw !important; max-width: none !important; }
    [data-foot-body] { font-size: 3.6vw !important; }
    [data-small] { font-size: 2.5vw !important; }
    [data-artesa] { height: 9vw !important; }
    [data-cgu-link] { font-size: 3vw !important; }
    [data-foot-social] { width: 8vw !important; height: 8vw !important; }
    [data-top] { width: clamp(32px, 7vw, 38px) !important; height: clamp(32px, 7vw, 38px) !important; gap: 2px !important; right: clamp(12px, 3vw, 18px) !important; bottom: clamp(12px, 3vw, 18px) !important; box-shadow: 0 2px 8px rgba(49,72,75,0.28) !important; }
    [data-top-arrow] { width: clamp(9px, 2vw, 11px) !important; height: clamp(5px, 1.1vw, 6px) !important; }
    [data-top-label] { font-size: clamp(6px, 1.3vw, 7px) !important; }
  }

  .chv1:hover{border-color:#ee791b !important;color:#ee791b !important}
  .chv2:hover{color:#ee791b !important}
  .chv3:hover{color:#ee791b !important}
  .chv4:hover{color:#ee791b !important}
  .chv5:hover{color:#ee791b !important}
  .chv6:hover{color:#ee791b !important}
  .chv7:hover{background:#ee791b !important}
  .chv8:hover{background:#ee791b !important}
  .chv9:hover{background:#ee791b !important}
  .chv10:hover{color:#ee791b !important}
  .chv11:hover{background:#31484b !important;transform:translateY(-0.3vw) !important;box-shadow:0 0.6vw 1.6vw rgba(49,72,75,0.38) !important}
  .chv12:hover{background:rgba(238,121,27,0.16) !important}
  .chv13:hover{color:#ee791b !important}
  .chv14:hover{color:#ee791b !important}
  .chv15:hover{color:#ee791b !important}
  .chv16:hover{color:#ee791b !important}
  .chv17:hover{color:#ee791b !important}
  .chv18:hover{color:#ee791b !important}
  .chv19:hover{color:#ee791b !important}

  .jsif { display: contents; }
  .jsif.off { display: none !important; }
