/* =========================================================================
   SCHEFFER — Redesign eau+feu (frontend-design)
   Reskin site-wide + hero home avec widget "Vite un Devis" above-the-fold.
   Réversible : supprimer mu-plugins/scheffer-redesign.php + ce fichier.
   ========================================================================= */

:root{
  --sch-ink:#0A1620;
  --sch-petrol:#0E3845;
  --sch-petrol-2:#0A2A34;
  --sch-petrol-3:#11505f;
  --sch-flame:#FF5A1E;
  --sch-flame-2:#FF7A3C;
  --sch-ember:#FFB23E;
  --sch-water:#7FD4E8;
  --sch-paper:#F4EEE3;
  --sch-paper-2:#EDE4D4;
  --sch-steel:#D7DEE1;
  --sch-steel-2:#AEBDC2;
  --sch-line:rgba(255,255,255,.10);
  --sch-line-ink:rgba(10,22,32,.12);
  --sch-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---- Palette site-wide : on remappe les variables GeneratePress/GenerateBlocks ---- */
:root,body{
  --contrast:#0A1620 !important;
  --contrast-2:#0A1620 !important;
  --contrast-3:#0E3845 !important;
  --base:#DCE3E6 !important;
  --base-2:#F4EEE3 !important;
  --base-3:#ffffff !important;
  --accent:#0E3845 !important;
  --accent-2:#11505f !important;
  --accent-3:#0E3845 !important;
}

/* ---- Typographie ---- */
body,button,input,select,textarea,.gb-text{
  font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
}
h1,h2,h3,h4,h5,h6,.entry-title,
.gb-text[class*="h1"],.gb-text[class*="h2"]{
  font-family:"Bricolage Grotesque","Hanken Grotesk",sans-serif;
  letter-spacing:-.02em;
  font-weight:800;
}
h1,h2{line-height:1.05}

/* =========================================================================
   HEADER (clair, sticky) — garde le logo lisible
   ========================================================================= */
.site-header{
  background:#ffffff !important;
  border-bottom:1px solid rgba(10,22,32,.08);
}
/* logo plus compact sur mobile -> remonte le formulaire above-the-fold */
@media(max-width:768px){
  .site-header .site-logo img,
  .site-header .header-image{max-height:52px !important;width:auto !important}
}
.main-navigation,
.main-navigation ul,
.main-navigation .main-nav ul li.menu-item > a{
  background:transparent;
}
.main-navigation .main-nav ul li > a{
  color:var(--sch-ink);
  font-weight:600;
}
.main-navigation .main-nav ul li:not(.btn):hover > a,
.main-navigation .main-nav ul li.current-menu-item > a{
  color:var(--sch-petrol);
}
/* CTA dans le menu (bouton "Contact"/"Devis") -> flame */
.main-navigation .main-nav ul li.btn > a,
.main-navigation .main-nav ul li.button > a,
.main-navigation .main-nav ul li.menu-item-cta > a{
  background:var(--sch-flame) !important;
  color:#fff !important;
  border-radius:100px;
  padding:.55em 1.3em !important;
  margin-left:.6em;
  transition:transform .18s var(--sch-ease),box-shadow .2s;
  box-shadow:0 8px 22px -10px rgba(255,90,30,.8);
}
.main-navigation .main-nav ul li.btn > a:hover{
  transform:translateY(-2px);color:#fff !important;
}

/* =========================================================================
   BOUTONS site-wide
   ========================================================================= */
/* bouton plein principal -> flame */
.gbp-button--primary,
.gbp-button--secondary,
.wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background-color:var(--sch-flame) !important;
  color:#fff !important;
  border-color:var(--sch-flame) !important;
  border-radius:100px !important;
  font-weight:700;
  transition:transform .18s var(--sch-ease),box-shadow .2s,background .2s;
  box-shadow:0 10px 26px -12px rgba(255,90,30,.75);
}
.gbp-button--primary:hover,
.gbp-button--secondary:hover,
.wp-block-button .wp-block-button__link:hover{
  background-color:var(--sch-flame-2) !important;
  transform:translateY(-2px);
  color:#fff !important;
}
/* lien-bouton tertiaire (texte + flèche) -> teal, hover flame */
.gbp-button--tertiary{color:var(--sch-petrol);font-weight:700}
.gbp-button--tertiary:hover{color:var(--sch-flame)}
.gbp-button--tertiary:hover .gb-shape svg{color:var(--sch-flame)}

/* puces / pastilles d'icônes (étaient lavande pâle) -> dégradé eau+feu */
.gb-shape[class*="gb-shape-"]{ } /* no-op, garde defaults */

/* =========================================================================
   HERO HOME — eau + feu, formulaire above-the-fold
   ========================================================================= */
.sch-hero{
  position:relative;
  width:100%;
  background:var(--sch-petrol);
  color:var(--sch-paper);
  overflow:hidden;
  isolation:isolate;
}
.sch-hero *{box-sizing:border-box}
.sch-hero::before{ /* grille blueprint */
  content:"";position:absolute;inset:0;z-index:0;
  background-image:
    linear-gradient(var(--sch-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--sch-line) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 95% at 28% 0%,#000 35%,transparent 80%);
          mask-image:radial-gradient(120% 95% at 28% 0%,#000 35%,transparent 80%);
}
.sch-hero::after{ /* halo flamme */
  content:"";position:absolute;z-index:0;width:760px;height:760px;
  right:-200px;top:-260px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,90,30,.42),rgba(255,178,62,.10) 42%,transparent 68%);
}
.sch-hero__grain{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
.sch-hero__inner{
  position:relative;z-index:2;
  max-width:1240px;margin:0 auto;padding:60px 28px 80px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  column-gap:52px;align-items:start;
  grid-template-areas:"head form" "meta form";
}
.sch-hero__head{grid-area:head}
.sch-hero__form{grid-area:form;align-self:center}
.sch-hero__meta{grid-area:meta;margin-top:24px}
.sch-eyebrow{
  display:inline-flex;align-items:center;gap:11px;
  font-family:"Space Mono",monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sch-ember);border:1px solid var(--sch-line);border-radius:100px;
  padding:8px 15px;background:rgba(255,255,255,.03);margin-bottom:24px;
}
.sch-dot{width:7px;height:7px;border-radius:50%;background:var(--sch-flame);box-shadow:0 0 0 4px rgba(255,90,30,.25);animation:sch-pulse 2.4s infinite}
@keyframes sch-pulse{50%{box-shadow:0 0 0 9px rgba(255,90,30,0)}}
.sch-h1{
  font-family:"Bricolage Grotesque",sans-serif;font-weight:800;
  font-size:clamp(2.4rem,4vw,3.9rem);line-height:1.02;letter-spacing:-.02em;
  color:var(--sch-paper);margin:0;max-width:15ch;
}
.sch-fire{color:var(--sch-ember);position:relative;white-space:nowrap}
.sch-fire::after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.10em;background:var(--sch-flame);border-radius:3px;opacity:.85}
.sch-water{color:var(--sch-water)}
.sch-lead{font-size:1.12rem;color:var(--sch-steel);max-width:46ch;margin:22px 0 0}
.sch-trust{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
.sch-trust .it{display:flex;align-items:center;gap:11px}
.sch-trust .it b{font-family:"Bricolage Grotesque";font-size:1.45rem;display:block;line-height:1;color:#fff}
.sch-trust .it span{font-size:.8rem;color:var(--sch-steel-2)}

/* ---- carte devis ---- */
.sch-quote{
  position:relative;background:var(--sch-paper);color:var(--sch-ink);
  border-radius:24px;padding:20px 20px 18px;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.45) inset;
}
.sch-quote__ribbon{
  position:absolute;top:-14px;right:22px;z-index:3;
  background:var(--sch-flame);color:#fff;font-family:"Space Mono",monospace;font-weight:700;
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 14px;border-radius:8px;box-shadow:0 10px 22px -8px rgba(255,90,30,.7);
}
.sch-quote__trust{
  display:flex;justify-content:center;flex-wrap:wrap;gap:14px;
  margin-top:10px;padding-top:13px;border-top:1px dashed var(--sch-line-ink);
}
.sch-quote__trust span{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#3f4b52;font-weight:600}
.sch-quote__trust svg{flex:0 0 auto}

/* ---- intégration du widget viteundevis dans la carte ---- */
.sch-quote #vud_mb_js_box,
.sch-quote .vud_reinitialise,
.sch-quote #vud_devis,
.sch-quote #devis_tap_ajax{background:transparent !important;max-width:100% !important;width:100% !important;margin:0 !important;box-shadow:none !important;border:0 !important}
.sch-quote #vud_devis h2{font-family:"Bricolage Grotesque",sans-serif !important;color:var(--sch-ink) !important;letter-spacing:-.02em}
.sch-quote .devistap_choix{
  border:1.5px solid var(--sch-line-ink) !important;border-radius:12px !important;
  transition:.15s !important;cursor:pointer;
}
.sch-quote .devistap_choix:hover{
  border-color:var(--sch-flame) !important;background:#FFF3EC !important;color:#C53B0E !important;
}
.sch-quote .devistap_bouton,
.sch-quote a.devistap_bouton{
  background:var(--sch-flame) !important;border-color:var(--sch-flame) !important;color:#fff !important;
  border-radius:100px !important;font-weight:700 !important;
}
.sch-quote .devistap_bouton:hover{background:var(--sch-flame-2) !important}

/* ---- divider bas de hero ---- */
.sch-hero__divider{position:relative;z-index:2;line-height:0}
.sch-hero__divider svg{display:block;width:100%;height:54px}

@media(max-width:1024px){
  .sch-hero__inner{grid-template-columns:1fr;grid-template-areas:"head" "form" "meta";column-gap:0;padding:42px 22px 60px}
  .sch-hero__form{align-self:stretch;margin:22px 0 4px}
  .sch-hero__meta{margin-top:20px}
  .sch-h1{max-width:unset}
}
@media(max-width:600px){
  .sch-h1{font-size:2.2rem}
  .sch-trust{gap:18px}
}

/* =========================================================================
   HOME — section services eau+feu + bande Zone Moselle
   ========================================================================= */
.sch-svc-wrap{background:var(--sch-paper);padding:88px 0}
.sch-svc-inner{max-width:1240px;margin:0 auto;padding:0 28px}
.sch-sec-head{max-width:660px;margin-bottom:44px}
.sch-kick,.sch-zone__kick{font-family:"Space Mono",monospace;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sch-flame);font-weight:700}
.sch-sec-head h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(2rem,3.2vw,2.8rem);margin:14px 0 0;color:var(--sch-ink)}
.sch-sec-head p{color:#4d5960;font-size:1.08rem;margin:14px 0 0}

.sch-svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sch-card{position:relative;border-radius:18px;padding:26px 24px 24px;min-height:212px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;transition:transform .2s var(--sch-ease),box-shadow .2s}
.sch-card:hover{transform:translateY(-5px);box-shadow:0 26px 52px -24px rgba(10,22,32,.55)}
.sch-card.water{background:linear-gradient(160deg,#11505f,#0A2A34)}
.sch-card.fire{background:linear-gradient(160deg,#C53B0E,#7a2408)}
.sch-card.urg{background:linear-gradient(160deg,#0A1620,#1f3140)}
.sch-card.reno{background:linear-gradient(160deg,#2a4b2f,#16301b)}
.sch-card__ic{position:absolute;top:24px;left:24px;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.sch-card__arrow{position:absolute;top:28px;right:24px;color:#fff;opacity:.55;transition:.2s;line-height:0}
.sch-card:hover .sch-card__arrow{opacity:1;transform:translate(3px,-3px)}
.sch-card h3{color:#fff;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.28rem;margin:0}
.sch-card p{color:rgba(255,255,255,.8);font-size:.9rem;margin:6px 0 0}

.sch-zone-wrap{background:#fff;padding:24px 0 96px}
.sch-zone{max-width:1240px;margin:0 auto;background:var(--sch-ink);color:var(--sch-paper);border-radius:28px;padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.sch-zone::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--sch-line) 1px,transparent 1px),linear-gradient(90deg,var(--sch-line) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(90% 90% at 100% 0,#000,transparent 75%);mask-image:radial-gradient(90% 90% at 100% 0,#000,transparent 75%);opacity:.7}
.sch-zone>*{position:relative;z-index:1}
.sch-zone h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.02em;font-size:2.2rem;margin:12px 0 0;color:#fff}
.sch-zone p{color:var(--sch-steel);margin:14px 0 0;max-width:42ch}
.sch-zone__cta{display:inline-flex;align-items:center;gap:9px;margin-top:24px;background:var(--sch-flame);color:#fff;font-weight:700;padding:13px 22px;border-radius:100px;text-decoration:none;transition:transform .18s var(--sch-ease),box-shadow .2s;box-shadow:0 10px 26px -12px rgba(255,90,30,.75)}
.sch-zone__cta:hover{transform:translateY(-2px);color:#fff}
.sch-zone__cities{display:flex;flex-wrap:wrap;gap:10px;align-content:center}
.sch-zone__cities span{border:1px solid var(--sch-line);border-radius:100px;padding:9px 16px;font-size:.92rem;color:var(--sch-steel);background:rgba(255,255,255,.03);transition:.18s}
.sch-zone__cities span:hover{border-color:var(--sch-flame);color:#fff}
@media(max-width:900px){.sch-zone{grid-template-columns:1fr;padding:38px}}
@media(max-width:768px){.sch-svc{grid-template-columns:1fr 1fr}.sch-svc-wrap{padding:62px 0}}
@media(max-width:520px){.sch-svc{grid-template-columns:1fr}}

/* =========================================================================
   POLISH TRANSVERSE (toutes les pages)
   ========================================================================= */
/* eyebrow/tagline mono flame (Services, Contact, À propos, etc.) */
.gbp-section__tagline{font-family:"Space Mono",monospace !important;text-transform:uppercase !important;letter-spacing:.16em !important;color:var(--sch-flame) !important;font-weight:700 !important;font-size:.78rem !important}
/* cartes ombrées (blog, services internes) -> arrondi + lift au survol */
.gbp--box-shadow{border-radius:16px !important;overflow:hidden;transition:transform .2s var(--sch-ease),box-shadow .25s}
.gbp--box-shadow:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(10,22,32,.42) !important}
