
/* QUARZEO PUBLIC HOME V14 */

/* HEADER CLAIR */
.qzv12-topbar{
  background:#ffffff!important;
  border-bottom:1px solid #dce7ef!important;
  box-shadow:0 6px 22px rgba(15,48,73,.08)!important;
  backdrop-filter:none!important;
}
.qzv12-topinner{
  width:min(1440px,calc(100% - 64px))!important;
  max-width:1440px!important;
  height:78px!important;
}
.qzv12-text-logo{
  display:flex!important;
  align-items:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:32px!important;
  font-weight:900!important;
  letter-spacing:-1.8px!important;
  text-decoration:none!important;
}
.qzv12-text-logo .logo-quar{color:#173c62!important}
.qzv12-text-logo .logo-zeo{
  color:#0b9dd9!important;
  background:linear-gradient(135deg,#0876d7,#20c4e6)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
.qzv12-nav a{
  color:#173c62!important;
  font-weight:750!important;
}
.qzv12-nav a:hover{color:#087bd2!important}
.qzv12-header-cta{
  color:#ffffff!important;
  background:linear-gradient(135deg,#0876d8,#0aa5df)!important;
  border:0!important;
  box-shadow:0 8px 22px rgba(8,118,216,.18)!important;
}

/* HERO CLAIR */
.qzv12-hero{
  color:#173c62!important;
  background:
    radial-gradient(circle at 85% 5%,rgba(23,180,221,.12),transparent 32%),
    linear-gradient(180deg,#f8fbfd 0%,#edf4f8 100%)!important;
}
.qzv12-hero-glow{display:none!important}

/* GRILLE GLOBALE */
.qzv12-hero-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  grid-template-areas:
    "copy copy"
    "search map"
    "foot map"!important;
  grid-template-rows:auto minmax(500px,auto) auto!important;
  align-items:stretch!important;
  gap:0 28px!important;
  width:min(1440px,calc(100% - 64px))!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:48px 0 62px!important;
}

/* Rend les enfants du bloc texte accessibles à la grille principale */
.qzv12-hero-copy{
  display:contents!important;
}

/* TITRE + SOUS-TITRE PLEINE LARGEUR */
.qzv12-eyebrow{
  grid-area:copy!important;
  display:flex!important;
  width:100%!important;
  margin:0 0 16px!important;
  color:#087eae!important;
}
.qzv12-title-row,
.qzv12-title-horizontal{
  grid-area:copy!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:34px 0 38px!important;
  padding:0!important;
}
.qzv12-title-row h1,
.qzv12-title-horizontal h1{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  color:#123653!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(46px,4vw,64px)!important;
  font-weight:850!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
.qzv12-title-row h1 em,
.qzv12-title-horizontal h1 em{
  color:#078fd5!important;
  font-style:normal!important;
}
.qzv12-title-row p,
.qzv12-title-horizontal p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:14px 0 0!important;
  color:#536f83!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.qzv12-title-row p strong,
.qzv12-title-horizontal p strong{
  color:#173c62!important;
}

/* MOTEUR PLUS LARGE ET CLAIR */
.qzv12-search{
  grid-area:search!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:500px!important;
  margin:0!important;
  padding:27px!important;
  color:#173c62!important;
  background:#ffffff!important;
  border:1px solid #ccdce7!important;
  border-radius:24px 24px 0 0!important;
  box-shadow:0 22px 55px rgba(25,63,91,.14)!important;
}
.qzv12-search-top{
  padding-bottom:17px!important;
  margin-bottom:20px!important;
  border-bottom:1px solid #d9e5ed!important;
}
.qzv12-search label,
.qzv12-search strong{color:#173c62!important}
.qzv12-search small,
.qzv12-search .plateApiStatus,
.qzv12-search .locationStatus,
.qzv12-search .searchDeckHint{color:#6c8395!important}
.qzv12-search .searchDeckProgress span{color:#708699!important}
.qzv12-search .searchDeckProgress span.active{
  color:#173c62!important;
  background:#e8f3f9!important;
}
.qzv12-search .searchDeckProgress b{
  color:#ffffff!important;
  background:#087bd8!important;
}
.qzv12-search input,
.qzv12-search select{
  color:#173c62!important;
  background:#ffffff!important;
  border-color:#c9dbe7!important;
}
.qzv12-search .plateInputWrap{
  width:100%!important;
  background:#ffffff!important;
  border:1px solid #c9dbe7!important;
}
.qzv12-search .manualVehicleLink{color:#087dc9!important}

/* PIED DU MOTEUR */
.qzv12-search-foot{
  grid-area:foot!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
  padding:16px 22px!important;
  color:#60798b!important;
  background:#edf4f8!important;
  border:1px solid #ccdce7!important;
  border-top:0!important;
  border-radius:0 0 24px 24px!important;
  box-shadow:0 22px 55px rgba(25,63,91,.14)!important;
}

/* CARTE INTERACTIVE DE MEME HAUTEUR */
.qzv12-preview{
  grid-area:map!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  color:#173c62!important;
  background:#ffffff!important;
  border:1px solid #ccdce7!important;
  border-radius:24px!important;
  box-shadow:0 22px 55px rgba(25,63,91,.14)!important;
  overflow:hidden!important;
}
.qzv12-preview-head{
  flex:0 0 auto!important;
  padding:19px 21px!important;
  color:#173c62!important;
  background:#f7fafc!important;
  border-bottom:1px solid #d8e5ed!important;
}
.qzv12-preview-head strong{color:#173c62!important}
.qzv12-preview-head small{color:#708699!important}
.qzv12-toggle{background:#e5eff5!important}
.qzv12-toggle span{color:#587286!important}
.qzv12-toggle span.active{
  color:#ffffff!important;
  background:#087bd8!important;
}
.qzv12-map,
.homePreviewMap{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-height:390px!important;
  height:auto!important;
}
.qzv12-preview-result{
  flex:0 0 auto!important;
  margin:13px!important;
  color:#173c62!important;
  background:#ffffff!important;
  border:1px solid #d8e5ed!important;
  box-shadow:0 7px 20px rgba(20,59,87,.08)!important;
}
.qzv12-preview-result strong{color:#173c62!important}
.qzv12-preview-result small{color:#6d8496!important}

/* TITRE SUR UNE LIGNE SUR GRAND ECRAN */
@media(min-width:1200px){
  .qzv12-title-row h1,
  .qzv12-title-horizontal h1,
  .qzv12-title-row p,
  .qzv12-title-horizontal p{
    white-space:nowrap!important;
  }
}

/* TABLETTE */
@media(max-width:1050px){
  .qzv12-hero-shell{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "copy"
      "search"
      "foot"
      "map"!important;
    width:calc(100% - 36px)!important;
  }
  .qzv12-title-row h1,
  .qzv12-title-horizontal h1,
  .qzv12-title-row p,
  .qzv12-title-horizontal p{
    white-space:normal!important;
  }
  .qzv12-preview{min-height:520px!important}
}

/* MOBILE */
@media(max-width:760px){
  .qzv12-topinner{
    width:calc(100% - 28px)!important;
    height:68px!important;
  }
  .qzv12-text-logo{font-size:27px!important}
  .qzv12-menu{
    background:#ffffff!important;
    border-color:#cfdee8!important;
  }
  .qzv12-menu span{background:#173c62!important}
  .qzv12-mobile-nav{
    background:#ffffff!important;
    border-color:#d8e5ed!important;
  }
  .qzv12-mobile-nav a{
    color:#173c62!important;
    border-color:#e1eaf0!important;
  }
  .qzv12-hero-shell{
    width:calc(100% - 28px)!important;
    padding-top:30px!important;
  }
  .qzv12-title-row h1,
  .qzv12-title-horizontal h1{
    font-size:40px!important;
  }
  .qzv12-title-row p,
  .qzv12-title-horizontal p{
    font-size:15px!important;
  }
  .qzv12-preview{display:none!important}
  .qzv12-search-foot{display:none!important}
  .qzv12-search{
    min-height:auto!important;
    border-radius:22px!important;
  }
}
/* V14.4 hero copy fix */
.qzv12-hero-shell{grid-template-areas:"eyebrow eyebrow" "title title" "search map" "foot map"!important;grid-template-rows:auto auto minmax(500px,auto) auto!important;}
.qzv12-eyebrow{grid-area:eyebrow!important;display:flex!important;width:100%!important;margin:0 0 10px!important;}
.qzv12-title-row,.qzv12-title-horizontal{grid-area:title!important;display:block!important;width:100%!important;max-width:none!important;margin:0 0 34px!important;}
.qzv12-title-row h1,.qzv12-title-horizontal h1{font-size:clamp(44px,3.6vw,60px)!important;line-height:1.08!important;white-space:normal!important;}
.qzv12-title-row p,.qzv12-title-horizontal p{margin:16px 0 0!important;white-space:normal!important;}
@media (max-width:1050px){.qzv12-hero-shell{grid-template-areas:"eyebrow" "title" "search" "foot" "map"!important;}}
/* V14.4 real france map */
.qzv12-france-map::before{content:"";position:absolute;inset:16px;background:url("/assets/france-network.svg") center/contain no-repeat;}
/* V14.5 — France map scale and network layout */
.qzv12-network-grid{display:grid!important;grid-template-columns:minmax(340px,430px) minmax(0,1fr)!important;align-items:center!important;gap:38px!important;}
.qzv12-france-card{position:relative!important;width:100%!important;max-width:430px!important;margin:0!important;overflow:hidden!important;z-index:1!important;}
.qzv12-france-map{position:relative!important;width:100%!important;height:390px!important;min-height:390px!important;overflow:hidden!important;}
.qzv12-france-map::before{inset:36px 22px 20px!important;background-size:82% auto!important;background-position:center center!important;background-repeat:no-repeat!important;transform:none!important;}
.qzv12-network-content{position:relative!important;z-index:2!important;min-width:0!important;}
@media(max-width:1050px){.qzv12-network-grid{grid-template-columns:1fr!important}.qzv12-france-card{max-width:520px!important;margin:0 auto!important}.qzv12-france-map{height:420px!important;min-height:420px!important}.qzv12-france-map::before{background-size:78% auto!important}}
/* V14.6 — Animation lumineuse discrète du logo QUARZEO */
.qzv12-text-logo{isolation:isolate!important;filter:drop-shadow(0 2px 8px rgba(15,135,204,.08));}
.qzv12-text-logo .logo-quar,.qzv12-text-logo .logo-zeo{display:inline-block!important;background-size:260% 100%!important;background-position:120% 50%!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:qzLogoLightSweep 5.8s ease-in-out infinite!important;will-change:background-position;}
.qzv12-text-logo .logo-quar{background-image:linear-gradient(105deg,#173c62 0%,#173c62 38%,#75d8f5 48%,#ffffff 51%,#75d8f5 54%,#173c62 64%,#173c62 100%)!important;}
.qzv12-text-logo .logo-zeo{background-image:linear-gradient(105deg,#0876d7 0%,#20c4e6 38%,#8ceaff 47%,#ffffff 51%,#8ceaff 55%,#20c4e6 66%,#0876d7 100%)!important;}
@keyframes qzLogoLightSweep{0%,18%{background-position:120% 50%}48%{background-position:-120% 50%}100%{background-position:-120% 50%}}
@media(prefers-reduced-motion:reduce){.qzv12-text-logo .logo-quar,.qzv12-text-logo .logo-zeo{animation:none!important;background-position:50% 50%!important}}
/* V14.7 — suppression définitive ancienne carte France */
.qzv12-france-map{position:relative!important;isolation:isolate!important;overflow:hidden!important;}
.qzv12-france-map>svg{display:none!important;visibility:hidden!important;opacity:0!important;}
.qzv12-france-map::after{display:none!important;content:none!important;}
.qzv12-france-map::before{display:block!important;z-index:2!important;inset:20px!important;background-size:82% auto!important;background-position:center!important;background-repeat:no-repeat!important;transform:none!important;}
/* V14.8 — France map vector, larger and transparent */
.qzv12-network-grid{display:grid!important;grid-template-columns:minmax(420px,520px) minmax(0,1fr)!important;align-items:center!important;gap:34px!important;}
.qzv12-france-card{max-width:520px!important;width:100%!important;}
.qzv12-france-map{position:relative!important;min-height:430px!important;height:430px!important;overflow:visible!important;isolation:isolate!important;}
.qzv12-france-map::before{display:none!important;content:none!important;background:none!important;}
.qzv12-france-map>svg{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;max-width:none!important;position:relative!important;z-index:2!important;overflow:visible!important;}
.qzv12-france-map .qzv12-land{fill:rgba(255,255,255,.035)!important;stroke:rgba(108,193,255,.55)!important;stroke-width:2.2!important;}
.qzv12-france-map .qzv12-future circle{fill:rgba(124,192,246,.28)!important;}
.qzv12-france-map .qzv12-point .halo{fill:rgba(101,255,226,.12)!important;}
.qzv12-france-map .qzv12-point .core{fill:#6ef0d8!important;}
.qzv12-france-map .qzv12-point path{stroke:#7fe8ff!important;stroke-width:2.2!important;fill:none!important;}
.qzv12-france-map .qzv12-point rect{fill:rgba(7,20,40,.72)!important;stroke:rgba(127,232,255,.24)!important;}
.qzv12-france-map .qzv12-point text{fill:#ffffff!important;font-size:14px!important;font-weight:700!important;}
.qzv12-france-map .qzv12-point-south .core{fill:#7ce7ff!important;}
.qzv12-map-legend{opacity:.86!important;}
@media(max-width:1050px){.qzv12-network-grid{grid-template-columns:1fr!important}.qzv12-france-card{max-width:620px!important;margin:0 auto!important}.qzv12-france-map{height:460px!important;min-height:460px!important}}
/* V14.9 — vraie France vectorielle transparente */
.qzv12-france-card{max-width:520px!important;width:100%!important;}
.qzv12-france-map{position:relative!important;min-height:430px!important;height:430px!important;overflow:hidden!important;isolation:isolate!important;}
.qzv12-france-map>svg{display:none!important;visibility:hidden!important;opacity:0!important;}
.qzv12-france-map::before{content:""!important;display:block!important;position:absolute!important;inset:18px 8px 18px 8px!important;background:url("/assets/france-real.svg") center/contain no-repeat!important;opacity:.34!important;filter:drop-shadow(0 0 18px rgba(108,193,255,.10));z-index:1!important;}
.qzv12-map-legend{position:relative!important;z-index:2!important;opacity:.88!important;}
.qzv12-network-content{position:relative!important;z-index:2!important;}
@media(max-width:1050px){.qzv12-france-card{max-width:620px!important;margin:0 auto!important}.qzv12-france-map{height:460px!important;min-height:460px!important}.qzv12-france-map::before{inset:16px 4px!important;opacity:.32!important}}
/* V15 — vraie France définitive */
.qzv12-france-map{position:relative!important;width:100%!important;height:430px!important;min-height:430px!important;overflow:visible!important;isolation:isolate!important;}
.qzv12-france-map>svg{display:none!important;visibility:hidden!important;opacity:0!important;}
.qzv12-france-map::after{content:none!important;display:none!important;}
.qzv12-france-map::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:5!important;background-image:url("/assets/france-real.svg?v=15")!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;opacity:1!important;filter:none!important;transform:none!important;}
@media(max-width:1050px){.qzv12-france-map{height:460px!important;min-height:460px!important;}}
/* V15 — vraie France définitive */
.qzv12-france-map{position:relative!important;width:100%!important;height:430px!important;min-height:430px!important;overflow:visible!important;isolation:isolate!important;}
.qzv12-france-map>svg{display:none!important;visibility:hidden!important;opacity:0!important;}
.qzv12-france-map::after{content:none!important;display:none!important;}
.qzv12-france-map::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:5!important;background-image:url("/assets/france-real.svg?v=15")!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;opacity:1!important;filter:none!important;transform:none!important;}
@media(max-width:1050px){.qzv12-france-map{height:460px!important;min-height:460px!important;}}
