/*
Theme Name: SOS Chauffagiste
Theme URI: https://sos-chauffagiste.be
Description: Thème enfant de Hello Elementor pour SOS Chauffagiste — dépannage chauffage 24h/24 en Belgique. Compatible Rank Math, Complianz et tous les plugins standards.
Author: SOS Chauffagiste
Version: 1.4.3
Template: hello-elementor
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sos-chauffagiste-child
*/

/* Thème ENFANT de Hello Elementor.
   La ligne « Template: hello-elementor » ci-dessus est ce qui fait le lien avec le parent :
   ne pas la modifier, et ne pas renommer le dossier du thème parent.

   Le parent fournit la plomberie WordPress (title-tag, custom-logo, html5, réinitialisation
   CSS minimale). Ce fichier fournit tout le design de SOS Chauffagiste.
   Les polices Google sont chargées via wp_enqueue_style() dans functions.php. */

/* =========================================================
   SOS Chauffagiste — Style DOUX & CHALEUREUX, dispositions variées
   Crème + terracotta + pin, arrondis, ombres douces.
   Compositions : hero bord-à-bord, bento, frise, témoignage vedette.
   ========================================================= */

.scf{
  --paper:#fbf7f1 !important;
  --paper-2:#f3ece1 !important;
  --sand:#efe6d7 !important;
  --card:#ffffff !important;
  --ink:#241f1b !important;
  --ink-soft:#5e564d !important;
  --ink-mute:#968c7f !important;
  --line:#e9dfd0 !important;
  --accent:#d9532b !important;       /* terracotta */
  --accent-dark:#b83f1c !important;
  --accent-soft:#f8e3d8 !important;
  --pine:#2c5c50 !important;         /* vert profond (secondaire) */
  --pine-soft:#dce7e1 !important;
  --gold:#e0a83c !important;

  --radius:20px !important;
  --radius-sm:14px !important;
  --radius-lg:32px !important;
  --shadow-sm:0 8px 22px -12px rgba(70,45,20,.28) !important;
  --shadow:0 26px 60px -26px rgba(70,45,20,.42) !important;

  --maxw:1200px !important;
  --display:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
}

.scf *{box-sizing:border-box !important;margin:0 !important;padding:0 !important}
.scf{scroll-behavior:smooth !important}
.scf{font-family:var(--sans) !important;background:var(--paper) !important;color:var(--ink) !important;line-height:1.7 !important;-webkit-font-smoothing:antialiased !important;overflow-x:hidden !important}
.scf img{max-width:100% !important;display:block !important}
.scf a{color:inherit !important;text-decoration:none !important}
.scf h1,.scf h2,.scf h3,.scf h4{font-family:var(--display) !important;font-weight:700 !important;line-height:1.06 !important;letter-spacing:-.02em !important;color:var(--ink) !important}
.scf ul{list-style:none !important}

.scf .container{width:100% !important;max-width:var(--maxw) !important;margin:0 auto !important;padding:0 26px !important}
.scf .section{padding:92px 0 !important}
.scf .section--tight{padding:60px 0 !important}
.scf .bg-sand{background:var(--sand) !important}
.scf .bg-pine{background:var(--pine) !important;color:#eef4f1 !important}
.scf .bg-pine h2,.scf .bg-pine h3,.scf .bg-pine h4{color:#fff !important}

.scf .kicker{display:inline-flex !important;align-items:center !important;gap:9px !important;font-family:var(--sans) !important;font-weight:700 !important;font-size:.76rem !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--accent-dark) !important;background:var(--accent-soft) !important;padding:7px 14px !important;border-radius:999px !important}
.scf .bg-pine .kicker{color:#cfe6dd !important;background:rgba(255,255,255,.1) !important}
.scf h1{font-size:clamp(2.6rem,5.6vw,4.4rem) !important}
.scf h2.title{font-size:clamp(2rem,4vw,3.1rem) !important;margin:16px 0 14px !important}
.scf .lead{color:var(--ink-soft) !important;font-size:1.12rem !important}
.scf .section-head{max-width:660px !important;margin-bottom:52px !important}
.scf .section-head.center{margin-inline:auto !important;text-align:center !important}
.scf .section-head.center .kicker{margin-inline:auto !important}
.scf .accent{color:var(--accent) !important}
.scf .underline-word{background:linear-gradient(var(--accent-soft),var(--accent-soft)) bottom/100% 36% no-repeat !important}

/* buttons */
.scf .btn{display:inline-flex !important;align-items:center !important;gap:10px !important;justify-content:center !important;font-family:var(--sans) !important;font-weight:700 !important;font-size:.98rem !important;line-height:1.15 !important;padding:17px 32px !important;border-radius:999px !important;cursor:pointer !important;border:2px solid transparent !important;transition:transform .16s ease,box-shadow .2s,background .2s,color .2s !important;white-space:nowrap !important}
.scf .btn svg{width:19px !important;height:19px !important}
.scf .btn-primary{background:var(--accent) !important;color:#fff !important;box-shadow:var(--shadow-sm) !important}
.scf .btn-primary:hover{background:var(--accent-dark) !important;transform:translateY(-2px) !important;box-shadow:var(--shadow) !important}
.scf .btn-pine{background:var(--pine) !important;color:#fff !important}
.scf .btn-pine:hover{background:#22483f !important;transform:translateY(-2px) !important}
.scf .btn-outline{background:transparent !important;color:var(--ink) !important;border-color:var(--line) !important}
.scf .btn-outline:hover{border-color:var(--ink) !important;transform:translateY(-2px) !important}
.scf .bg-pine .btn-outline{color:#fff !important;border-color:rgba(255,255,255,.4) !important}
.scf .bg-pine .btn-outline:hover{background:#fff !important;color:var(--pine) !important}
.scf .btn-block{width:100% !important}
.scf .btn-lg{padding:19px 40px !important;font-size:1.04rem !important}

/* =========================================================
   HEADER  (barre flottante arrondie)
   ========================================================= */
.scf .site-header{position:sticky !important;top:0 !important;z-index:60 !important;background:rgba(251,247,241,.86) !important;backdrop-filter:blur(12px) !important;border-bottom:1px solid var(--line) !important}
.scf .nav{display:flex !important;align-items:center !important;justify-content:space-between !important;height:78px !important}
.scf .brand{display:flex !important;align-items:center !important;gap:12px !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.28rem !important;color:var(--ink) !important;white-space:nowrap !important}
.scf .brand .logo{width:42px !important;height:46px !important;display:grid !important;place-items:center !important;flex:0 0 auto !important}
.scf .brand .logo svg{width:24px !important;height:24px !important}
.scf .brand .logo img{width:100% !important;height:100% !important;object-fit:contain !important;display:block !important}
.scf .brand small{display:block !important;font-family:var(--sans) !important;font-weight:600 !important;font-size:.66rem !important;color:var(--ink-mute) !important;letter-spacing:.05em !important;text-transform:uppercase !important;line-height:1 !important;margin-top:2px !important}
.scf .nav-links{display:flex !important;align-items:center !important;gap:2px !important}
.scf .nav-links a{padding:9px 15px !important;border-radius:999px !important;font-family:var(--sans) !important;font-weight:600 !important;font-size:.95rem !important;color:var(--ink-soft) !important;white-space:nowrap !important;transition:color .2s,background .2s !important}
.scf .nav-links a:hover,.scf .nav-links a.active{color:var(--accent-dark) !important;background:var(--accent-soft) !important}
.scf .nav-cta{display:flex !important;align-items:center !important;gap:16px !important}
.scf .nav-phone{display:inline-flex !important;align-items:center !important;gap:9px !important;font-family:var(--display) !important;font-weight:700 !important;color:var(--ink) !important;white-space:nowrap !important}
.scf .nav-phone svg{width:18px !important;height:18px !important;color:var(--accent) !important}
@media(max-width:1080px){.scf .nav-phone{display:none !important}}
.scf .nav-toggle{display:none !important;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:12px !important;padding:9px !important;color:var(--ink) !important;cursor:pointer !important;box-shadow:var(--shadow-sm) !important}
.scf .nav-toggle svg{width:22px !important;height:22px !important}
.scf .mobile-menu{position:fixed !important;inset:79px 0 auto 0 !important;z-index:55 !important;background:var(--paper) !important;border-bottom:1px solid var(--line) !important;transform:translateY(-130%) !important;transition:transform .3s ease !important;padding:14px 26px 26px !important}
.scf .mobile-menu.open{transform:translateY(0) !important}
.scf .mobile-menu a{display:block !important;padding:14px 4px !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.1rem !important;border-bottom:1px solid var(--line) !important}
.scf .mobile-menu .btn{margin-top:18px !important}

/* =========================================================
   COVER HERO  — panneau couleur + photo bord-à-bord
   ========================================================= */
.scf .cover{display:grid !important;grid-template-columns:.92fr 1.08fr !important;min-height:min(76vh,680px) !important}
.scf .cover-panel{background:var(--paper) !important;display:flex !important;flex-direction:column !important;justify-content:center !important;padding:64px clamp(26px,5vw,72px) 64px max(26px,calc((100vw - var(--maxw))/2 + 26px)) !important}
.scf .cover-photo{position:relative !important;overflow:hidden !important;background:var(--sand) !important}
.scf .cover-photo img{width:100% !important;height:100% !important;object-fit:cover !important}
.scf .cover-photo::after{content:"" !important;position:absolute !important;inset:0 !important;background:linear-gradient(90deg,var(--paper) 0,rgba(251,247,241,0) 12%) !important}
.scf .cover-pill{display:inline-flex !important;align-items:center !important;gap:9px !important;background:var(--accent-soft) !important;color:var(--accent-dark) !important;font-weight:700 !important;font-size:.8rem !important;padding:8px 15px !important;border-radius:999px !important;margin-bottom:22px !important;width:max-content !important}
.scf .cover-pill .pulse{width:8px !important;height:8px !important;border-radius:50% !important;background:var(--accent) !important;position:relative !important}
.scf .cover-pill .pulse::after{content:"" !important;position:absolute !important;inset:0 !important;border-radius:50% !important;background:var(--accent) !important;animation:pulse 1.8s ease-out infinite !important}
@keyframes pulse{0%{transform:scale(1) !important;opacity:.7 !important}100%{transform:scale(3) !important;opacity:0 !important}}
.scf .cover h1{font-size:clamp(2.5rem,4.6vw,4rem) !important}
.scf .cover .lead{margin:20px 0 0 !important;max-width:440px !important}
.scf .cover-actions{display:flex !important;flex-wrap:wrap !important;gap:14px !important;margin-top:30px !important}

/* urgence bar under hero */
.scf .urgentbar{background:var(--pine) !important;color:#eef4f1 !important}
.scf .urgentbar .wrap{display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:16px 30px !important;padding:20px 0 !important}
.scf .urgentbar .msg{display:flex !important;align-items:center !important;gap:12px !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.1rem !important;color:#fff !important}
.scf .urgentbar .msg svg{width:22px !important;height:22px !important;color:var(--gold) !important}
.scf .urgentbar .items{display:flex !important;flex-wrap:wrap !important;gap:14px 26px !important}
.scf .urgentbar .it{display:flex !important;align-items:center !important;gap:9px !important;font-size:.9rem !important;color:#d3e3dd !important}
.scf .urgentbar .it svg{width:18px !important;height:18px !important;color:var(--gold) !important}

/* =========================================================
   STATEMENT (grand texte éditorial asymétrique)
   ========================================================= */
.scf .statement{display:grid !important;grid-template-columns:1fr 1fr !important;gap:50px !important;align-items:end !important}
.scf .statement .big{font-family:var(--display) !important;font-weight:700 !important;font-size:clamp(1.8rem,3.4vw,2.7rem) !important;line-height:1.12 !important;letter-spacing:-.02em !important}
.scf .statement .big em{font-style:normal !important;color:var(--accent) !important}
.scf .statement .side p{color:var(--ink-soft) !important;margin-bottom:16px !important}

/* =========================================================
   BENTO services (tuiles de tailles variées)
   ========================================================= */
.scf .bento{display:grid !important;grid-template-columns:repeat(4,1fr) !important;grid-auto-rows:206px !important;gap:18px !important}
.scf .tile{position:relative !important;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;padding:26px !important;overflow:hidden !important;transition:transform .2s ease,box-shadow .2s ease !important}
.scf .tile:hover{transform:translateY(-5px) !important;box-shadow:var(--shadow) !important}
.scf .tile h3{font-size:1.25rem !important;margin-bottom:8px !important}
.scf .tile p{color:var(--ink-soft) !important;font-size:.94rem !important}
.scf .tile .svc-ico{width:48px !important;height:48px !important;border-radius:14px !important;background:var(--accent-soft) !important;color:var(--accent-dark) !important;display:grid !important;place-items:center !important;margin-bottom:14px !important}
.scf .tile .svc-ico svg{width:25px !important;height:25px !important}
.scf .tile.tile-2{grid-column:span 2 !important}
.scf .tile.tile-row2{grid-row:span 2 !important}
.scf .tile.tile-photo{padding:0 !important;color:#fff !important;border:none !important}
.scf .tile.tile-photo img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important}
.scf .tile.tile-photo::after{content:"" !important;position:absolute !important;inset:0 !important;background:linear-gradient(180deg,rgba(36,31,27,.15),rgba(36,31,27,.82)) !important;z-index:1 !important}
.scf .tile.tile-photo .tp{position:relative !important;z-index:2 !important;height:100% !important;display:flex !important;flex-direction:column !important;justify-content:flex-end !important;padding:26px !important}
.scf .tile.tile-photo .more{margin-top:0 !important;padding-top:12px !important}
.scf .tile.tile-photo h3{color:#fff !important}
.scf .tile.tile-photo p{color:#e8ddd2 !important}
.scf .tile.tile-pine{background:var(--pine) !important;color:#eef4f1 !important;border:none !important}
.scf .tile.tile-pine h3{color:#fff !important}
.scf .tile.tile-pine p{color:#cfe0da !important}
.scf .tile.tile-pine .svc-ico{background:rgba(255,255,255,.14) !important;color:#fff !important}
.scf .tile .more{margin-top:auto !important;padding-top:14px !important;font-weight:700 !important;font-size:.85rem !important;color:var(--accent-dark) !important;display:inline-flex !important;gap:6px !important;align-items:center !important}
.scf .tile .more svg{width:16px !important;height:16px !important;flex:0 0 auto !important}
.scf .tile-pine .more,.scf .tile-photo .more{color:var(--gold) !important}

/* =========================================================
   TIMELINE (frise horizontale process)
   ========================================================= */
.scf .timeline{position:relative !important;display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:26px !important;margin-top:20px !important}
.scf .timeline::before{content:"" !important;position:absolute !important;top:26px !important;left:6% !important;right:6% !important;height:2px !important;background:var(--line) !important;z-index:0 !important}
.scf .tl{position:relative !important;z-index:1 !important;text-align:center !important;padding:0 8px !important}
.scf .tl .dot{width:54px !important;height:54px !important;border-radius:50% !important;background:var(--accent) !important;color:#fff !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.3rem !important;display:grid !important;place-items:center !important;margin:0 auto 20px !important;box-shadow:0 0 0 8px var(--paper) !important}
.scf .tl h3{font-size:1.12rem !important;margin-bottom:8px !important}
.scf .tl p{color:var(--ink-soft) !important;font-size:.92rem !important}
.scf .bg-sand .tl .dot{box-shadow:0 0 0 8px var(--sand) !important}

/* =========================================================
   FEATURE (split décalé avec image + badge)
   ========================================================= */
.scf .feature{display:grid !important;grid-template-columns:1fr 1fr !important;gap:58px !important;align-items:center !important}
.scf .feature.rev .feature-media{order:2 !important}
.scf .feature-media{position:relative !important}
.scf .feature-media .ph{border-radius:var(--radius-lg) !important;overflow:hidden !important;box-shadow:var(--shadow) !important;aspect-ratio:5/6 !important}
.scf .feature-media .ph img{width:100% !important;height:100% !important;object-fit:cover !important}
.scf .feature-media .float{position:absolute !important;bottom:-22px !important;left:-22px !important;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;padding:18px 22px !important;box-shadow:var(--shadow) !important}
.scf .feature-media .float .n{font-family:var(--display) !important;font-weight:700 !important;font-size:2rem !important;color:var(--accent) !important;line-height:1 !important}
.scf .feature-media .float .l{color:var(--ink-soft) !important;font-size:.88rem !important}
.scf .checks{display:grid !important;gap:15px !important;margin-top:8px !important}
.scf .checks li{display:flex !important;gap:13px !important;align-items:flex-start !important;color:var(--ink-soft) !important}
.scf .checks b{color:var(--ink) !important}
.scf .checks .ck{width:26px !important;height:26px !important;border-radius:50% !important;background:var(--pine-soft) !important;color:var(--pine) !important;display:grid !important;place-items:center !important;flex:0 0 auto !important;margin-top:2px !important}
.scf .checks .ck svg{width:15px !important;height:15px !important}
.scf .bg-pine .checks li{color:#cfe0da !important}.scf .bg-pine .checks b{color:#fff !important}
.scf .bg-pine .checks .ck{background:rgba(255,255,255,.16) !important;color:#fff !important}

/* =========================================================
   FEATURED QUOTE (grand témoignage unique)
   ========================================================= */
.scf .fquote{max-width:860px !important;margin:0 auto !important;text-align:center !important}
.scf .fquote .rate{display:inline-flex !important;align-items:center !important;gap:10px !important;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:999px !important;padding:8px 18px !important;margin-bottom:26px !important;box-shadow:var(--shadow-sm) !important}
.scf .fquote .rate .stars{display:flex !important;gap:2px !important;color:var(--gold) !important}
.scf .fquote .rate .stars svg{width:17px !important;height:17px !important}
.scf .fquote .rate b{font-family:var(--display) !important}
.scf .fquote blockquote{font-family:var(--display) !important;font-weight:600 !important;font-size:clamp(1.5rem,3vw,2.2rem) !important;line-height:1.28 !important;letter-spacing:-.02em !important;color:var(--ink) !important}
.scf .fquote .who{display:inline-flex !important;align-items:center !important;gap:12px !important;margin-top:28px !important}
.scf .fquote .who .av{width:50px !important;height:50px !important;border-radius:50% !important;background:var(--accent) !important;color:#fff !important;display:grid !important;place-items:center !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.2rem !important}
.scf .fquote .who b{display:block !important;font-family:var(--sans) !important;font-weight:700 !important}
.scf .fquote .who span{color:var(--ink-mute) !important;font-size:.88rem !important}
.scf .mini-quotes{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;margin-top:52px !important}
.scf .mini{background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;padding:22px !important}
.scf .mini .stars{display:flex !important;gap:2px !important;color:var(--gold) !important;margin-bottom:10px !important}
.scf .mini .stars svg{width:15px !important;height:15px !important}
.scf .mini p{color:var(--ink-soft) !important;font-size:.93rem !important;margin-bottom:12px !important}
.scf .mini .who{font-size:.85rem !important;font-weight:700 !important}
.scf .mini .who span{color:var(--ink-mute) !important;font-weight:400 !important}

/* =========================================================
   STATLINE (stats en ligne, léger)
   ========================================================= */
.scf .statline{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;overflow:hidden !important;background:var(--card) !important}
.scf .statline .s{padding:28px 20px !important;text-align:center !important}
.scf .statline .s:not(:last-child){border-right:1px solid var(--line) !important}
.scf .statline .s .n{font-family:var(--display) !important;font-weight:700 !important;font-size:clamp(2rem,3.6vw,2.8rem) !important;color:var(--accent) !important;line-height:1 !important}
.scf .statline .s .l{color:var(--ink-soft) !important;font-size:.9rem !important;margin-top:6px !important}

/* =========================================================
   FAQ (2 colonnes)
   ========================================================= */
.scf .faq2{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px 26px !important;align-items:start !important}
.scf .faq-item{border:1px solid var(--line) !important;border-radius:var(--radius-sm) !important;background:var(--card) !important;overflow:hidden !important}
.scf .faq-q{width:100% !important;text-align:left !important;background:none !important;border:none !important;color:var(--ink) !important;cursor:pointer !important;padding:20px 22px !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.04rem !important;display:flex !important;justify-content:space-between !important;align-items:center !important;gap:16px !important}
.scf .faq-q svg{width:22px !important;height:22px !important;color:var(--accent) !important;transition:transform .25s !important;flex:0 0 auto !important}
.scf .faq-item.open .faq-q svg{transform:rotate(45deg) !important}
.scf .faq-a{max-height:0 !important;overflow:hidden !important;transition:max-height .3s ease !important}
.scf .faq-a p{padding:0 22px 20px !important;color:var(--ink-soft) !important}

/* =========================================================
   SOFT CTA
   ========================================================= */
.scf .softcta{background:var(--accent) !important;color:#fff !important;border-radius:var(--radius-lg) !important;padding:56px !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:28px !important;box-shadow:var(--shadow) !important}
.scf .softcta h2{color:#fff !important;font-size:clamp(1.9rem,3.6vw,2.7rem) !important;max-width:600px !important}
.scf .softcta p{color:#ffe6da !important;margin-top:10px !important;max-width:520px !important}
.scf .softcta .btn-primary{background:#fff !important;color:var(--accent-dark) !important}
.scf .softcta .btn-primary:hover{background:#fff !important;color:var(--accent-dark) !important;box-shadow:0 20px 40px -18px rgba(0,0,0,.4) !important}
.scf .softcta .btn-outline{color:#fff !important;border-color:rgba(255,255,255,.55) !important}
.scf .softcta .btn-outline:hover{background:#fff !important;color:var(--accent-dark) !important}

/* =========================================================
   INNER PAGE HERO
   ========================================================= */
.scf .page-hero{padding:60px 0 54px !important;border-bottom:1px solid var(--line) !important;background:var(--sand) !important}
.scf .page-hero h1{margin:14px 0 14px !important;font-size:clamp(2.2rem,4.6vw,3.4rem) !important}
.scf .page-hero p{color:var(--ink-soft) !important;font-size:1.1rem !important;max-width:640px !important}
.scf .breadcrumb{font-size:.85rem !important;color:var(--ink-mute) !important}
.scf .breadcrumb a:hover{color:var(--accent) !important}

/* legacy split used by inner pages */
.scf .split{display:grid !important;grid-template-columns:1fr 1fr !important;gap:56px !important;align-items:center !important}
.scf .split.rev .split-media{order:2 !important}
.scf .split-media{position:relative !important}
.scf .split-media .frame{border-radius:var(--radius-lg) !important;overflow:hidden !important;box-shadow:var(--shadow) !important;aspect-ratio:1/1 !important}
.scf .split-media .frame img{width:100% !important;height:100% !important;object-fit:cover !important}
.scf .split-media .tab{position:absolute !important;bottom:-20px !important;left:-20px !important;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;padding:16px 22px !important;box-shadow:var(--shadow) !important}
.scf .split-media .tab .n{font-family:var(--display) !important;font-weight:700 !important;font-size:1.8rem !important;color:var(--accent) !important;line-height:1 !important}
.scf .split-media .tab .l{color:var(--ink-soft) !important;font-size:.88rem !important}

/* legacy service photo cards (inner services page) */
.scf .grid{display:grid !important;gap:22px !important}
.scf .grid-3{grid-template-columns:repeat(3,1fr) !important}
.scf .grid-2{grid-template-columns:repeat(2,1fr) !important}
.scf .pcard{background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;overflow:hidden !important;transition:transform .2s ease,box-shadow .2s ease !important}
.scf .pcard:hover{transform:translateY(-5px) !important;box-shadow:var(--shadow) !important}
.scf .pcard .thumb{aspect-ratio:16/11 !important;overflow:hidden !important;background:var(--sand) !important}
.scf .pcard .thumb img{width:100% !important;height:100% !important;object-fit:cover !important;transition:transform .5s ease !important}
.scf .pcard:hover .thumb img{transform:scale(1.05) !important}
.scf .pcard .body{padding:24px !important}
.scf .pcard h3{font-size:1.25rem !important;margin-bottom:9px !important}
.scf .pcard p{color:var(--ink-soft) !important;font-size:.96rem !important}
.scf .pcard .tagline{margin-top:14px !important;font-weight:700 !important;font-size:.85rem !important;color:var(--accent-dark) !important;display:inline-flex !important;align-items:center !important;gap:7px !important}
.scf .pcard .tagline svg{width:16px !important;height:16px !important}

/* zones */
.scf .zones-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:14px !important}
.scf .zone-chip{display:flex !important;align-items:center !important;gap:11px !important;padding:15px 18px !important;border:1px solid var(--line) !important;border-radius:14px !important;background:var(--card) !important;color:var(--ink-soft) !important;font-weight:600 !important;transition:transform .16s,box-shadow .16s,color .2s !important}
.scf .zone-chip:hover{transform:translateY(-3px) !important;box-shadow:var(--shadow-sm) !important;color:var(--ink) !important}
.scf .zone-chip svg{width:18px !important;height:18px !important;color:var(--accent) !important;flex:0 0 auto !important}

/* contact */
.scf .contact-grid{display:grid !important;grid-template-columns:.9fr 1.1fr !important;gap:48px !important}
.scf .contact-cards{display:grid !important;gap:16px !important}
.scf .contact-line{display:flex !important;gap:16px !important;align-items:flex-start !important;padding:20px !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;background:var(--card) !important}
.scf .contact-line .ic{width:46px !important;height:46px !important;border-radius:14px !important;display:grid !important;place-items:center !important;background:var(--accent-soft) !important;color:var(--accent-dark) !important;flex:0 0 auto !important}
.scf .contact-line .ic svg{width:23px !important;height:23px !important}
.scf .contact-line h4{font-family:var(--display) !important;font-weight:700 !important;font-size:1.05rem !important;margin-bottom:3px !important}
.scf .contact-line a,.scf .contact-line p{color:var(--ink-soft) !important}
.scf .contact-line a:hover{color:var(--accent) !important}
.scf .form{background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius-lg) !important;padding:32px !important;box-shadow:var(--shadow-sm) !important}
.scf .form .field{margin-bottom:16px !important}
.scf .form label{display:block !important;font-family:var(--sans) !important;font-weight:600 !important;font-size:.9rem !important;margin-bottom:7px !important}
.scf .form input,.scf .form select,.scf .form textarea{width:100% !important;background:var(--paper) !important;border:1px solid var(--line) !important;border-radius:12px !important;padding:13px 15px !important;color:var(--ink) !important;font-family:var(--sans) !important;font-size:.98rem !important;transition:border-color .2s !important}
.scf .form input:focus,.scf .form select:focus,.scf .form textarea:focus{outline:none !important;border-color:var(--accent) !important}
.scf .form textarea{min-height:120px !important;resize:vertical !important}
.scf .form .row{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px !important}
.scf .form-note{font-size:.82rem !important;color:var(--ink-mute) !important;margin-top:10px !important}
.scf .form-note a{color:var(--accent-dark) !important;text-decoration:underline !important}
.scf .form-success{display:none !important;padding:16px !important;border-radius:12px !important;background:var(--pine-soft) !important;border:1px solid var(--pine) !important;color:var(--pine) !important;margin-top:14px !important;font-weight:700 !important}
.scf .form-success.show{display:block !important}

/* prose */
.scf .prose{max-width:820px !important;margin:0 auto !important}
.scf .prose h2{font-size:1.55rem !important;margin:36px 0 14px !important}
.scf .prose h3{font-size:1.18rem !important;margin:24px 0 10px !important}
.scf .prose p{color:var(--ink-soft) !important;margin-bottom:14px !important}
.scf .prose ul{margin:0 0 16px !important}
.scf .prose ul li{color:var(--ink-soft) !important;position:relative !important;padding-left:24px !important;margin-bottom:9px !important}
.scf .prose ul li::before{content:"" !important;position:absolute !important;left:5px !important;top:12px !important;width:7px !important;height:7px !important;border-radius:50% !important;background:var(--accent) !important}
.scf .prose a{color:var(--accent-dark) !important;text-decoration:underline !important}
.scf .prose .updated{color:var(--ink-mute) !important;font-size:.9rem !important;margin-bottom:28px !important}
.scf .prose table{width:100% !important;border-collapse:collapse !important;margin:8px 0 20px !important;font-size:.92rem !important}
.scf .prose th,.scf .prose td{border:1px solid var(--line) !important;padding:11px 14px !important;text-align:left !important;color:var(--ink-soft) !important}
.scf .prose th{background:var(--sand) !important;color:var(--ink) !important;font-family:var(--display) !important;font-weight:700 !important}

/* legacy helpers still used by inner pages */
.scf .bg-paper2{background:var(--sand) !important}
.scf .bg-ink{background:var(--pine) !important;color:#eef4f1 !important}
.scf .bg-ink h2,.scf .bg-ink h3,.scf .bg-ink h4{color:#fff !important}
.scf .stats{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:26px !important;text-align:center !important}
.scf .stats .s .n{font-family:var(--display) !important;font-weight:700 !important;font-size:clamp(2.2rem,4vw,3rem) !important;color:var(--gold) !important;line-height:1 !important}
.scf .stats .s .l{color:#cfe0da !important;font-size:.92rem !important;margin-top:8px !important}
@media(max-width:960px){.scf .stats{grid-template-columns:1fr 1fr !important;gap:32px !important}}
@media(max-width:600px){.scf .stats{grid-template-columns:1fr 1fr !important}}

.scf .cta{position:relative !important;overflow:hidden !important;border-radius:var(--radius-lg) !important;box-shadow:var(--shadow) !important}
.scf .cta .cta-bg{position:absolute !important;inset:0 !important}
.scf .cta .cta-bg img{width:100% !important;height:100% !important;object-fit:cover !important}
.scf .cta .cta-bg::after{content:"" !important;position:absolute !important;inset:0 !important;background:linear-gradient(90deg,rgba(44,92,80,.94),rgba(44,92,80,.62)) !important}
.scf .cta .cta-inner{position:relative !important;z-index:2 !important;padding:60px 52px !important;color:#fff !important;max-width:640px !important}
.scf .cta .cta-inner h2{color:#fff !important;font-size:clamp(1.9rem,3.6vw,2.7rem) !important}
.scf .cta .cta-inner p{color:#dcebe5 !important;margin:14px 0 28px !important}
.scf .cta .cta-actions{display:flex !important;flex-wrap:wrap !important;gap:14px !important}
.scf .cta .btn-primary{background:#fff !important;color:var(--pine) !important}
.scf .cta .btn-primary:hover{background:#fff !important;color:var(--pine) !important}
.scf .cta .btn-outline{color:#fff !important;border-color:rgba(255,255,255,.5) !important}
.scf .cta .btn-outline:hover{background:#fff !important;color:var(--pine) !important}
@media(max-width:960px){.scf .cta .cta-inner{padding:44px 30px !important}.scf .cta .cta-bg::after{background:linear-gradient(180deg,rgba(44,92,80,.82),rgba(44,92,80,.92)) !important}}

/* =========================================================
   FOOTER
   ========================================================= */
.scf .site-footer{background:var(--ink) !important;color:#c9c0b5 !important;padding:66px 0 28px !important}
.scf .site-footer h4{font-family:var(--display) !important;font-weight:700 !important;font-size:1rem !important;color:#fff !important;margin-bottom:16px !important}
.scf .footer-grid{display:grid !important;grid-template-columns:1.7fr 1fr 1fr !important;gap:44px !important;margin-bottom:46px !important}
.scf .footer-grid a{display:block !important;color:#a89f93 !important;font-size:.93rem !important;padding:5px 0 !important;transition:color .2s !important}
.scf .footer-grid a:hover{color:var(--gold) !important}
.scf .footer-about .brand{color:#fff !important;margin-bottom:8px !important}
.scf .footer-about .brand small{color:#8f8579 !important}
.scf .footer-about p{color:#9d9488 !important;font-size:.93rem !important;margin-top:12px !important;max-width:300px !important}
.scf .footer-emergency{display:inline-flex !important;align-items:center !important;gap:10px !important;margin-top:18px !important;font-family:var(--display) !important;font-weight:700 !important;font-size:1.4rem !important;color:#fff !important}
.scf .footer-emergency svg{width:20px !important;height:20px !important;color:var(--gold) !important}
.scf .footer-bottom{border-top:1px solid rgba(255,255,255,.12) !important;padding-top:24px !important;display:flex !important;flex-wrap:wrap !important;justify-content:space-between !important;gap:12px !important;color:#867d71 !important;font-size:.85rem !important}
.scf .footer-bottom a{color:#867d71 !important}.scf .footer-bottom a:hover{color:var(--gold) !important}

/* FAB */
.scf .fab-call{position:fixed !important;right:18px !important;bottom:18px !important;z-index:70 !important;display:none !important;align-items:center !important;gap:10px !important;background:var(--accent) !important;color:#fff !important;font-family:var(--display) !important;font-weight:700 !important;padding:15px 20px !important;border-radius:999px !important;box-shadow:var(--shadow) !important}
.scf .fab-call svg{width:20px !important;height:20px !important}

/* reveal */
.scf .reveal{}
.scf .reveal.in{opacity:1 !important;transform:none !important}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:960px){
  .scf .cover{grid-template-columns:1fr !important}
  .scf .cover-photo{height:280px !important;min-height:0 !important;order:-1 !important}
  .scf .cover-photo::after{background:linear-gradient(0deg,var(--paper) 0,rgba(251,247,241,0) 20%) !important}
  .scf .cover-panel{padding:48px 26px !important}
  .scf .statement{grid-template-columns:1fr !important;gap:24px !important}
  .scf .bento{grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:180px !important}
  .scf .tile.tile-2{grid-column:span 2 !important}
  .scf .tile.tile-row2{grid-row:span 1 !important}
  .scf .timeline{grid-template-columns:1fr 1fr !important;gap:34px !important}
  .scf .timeline::before{display:none !important}
  .scf .feature{grid-template-columns:1fr !important;gap:44px !important}
  .scf .feature.rev .feature-media{order:0 !important}
  .scf .mini-quotes{grid-template-columns:1fr !important}
  .scf .statline{grid-template-columns:1fr 1fr !important}
  .scf .statline .s:nth-child(2){border-right:none !important}
  .scf .faq2{grid-template-columns:1fr !important}
  .scf .split{grid-template-columns:1fr !important;gap:34px !important}
  .scf .split.rev .split-media{order:0 !important}
  .scf .grid-3{grid-template-columns:1fr 1fr !important}
  .scf .contact-grid{grid-template-columns:1fr !important;gap:34px !important}
  .scf .footer-grid{grid-template-columns:1fr 1fr !important;gap:32px !important}
  .scf .zones-grid{grid-template-columns:1fr 1fr !important}
  .scf .softcta{padding:40px 30px !important}
}
@media(max-width:600px){
  .scf .section{padding:64px 0 !important}
  .scf .nav-links,.scf .nav-cta .btn{display:none !important}
  .scf .nav-toggle{display:inline-flex !important}
  .scf .brand small{display:none !important}
  .scf .bento{grid-template-columns:1fr !important;grid-auto-rows:auto !important}
  .scf .tile{min-height:160px !important}
  .scf .tile.tile-2{grid-column:span 1 !important}
  .scf .tile.tile-photo{min-height:240px !important}
  .scf .timeline{grid-template-columns:1fr !important}
  .scf .statline{grid-template-columns:1fr 1fr !important}
  .scf .grid-3,.scf .grid-2{grid-template-columns:1fr !important}
  .scf .form .row{grid-template-columns:1fr !important}
  .scf .footer-grid{grid-template-columns:1fr !important}
  .scf .zones-grid{grid-template-columns:1fr !important}
  .scf .fab-call{display:inline-flex !important}
  .scf .cover-actions .btn{flex:1 1 100% !important}
  .scf .feature-media .float{left:12px !important;right:12px !important}
}


/* =========================================================
   ADAPTATIONS WORDPRESS
   Ajouté lors du portage Elementor -> thème WP.
   wp_nav_menu() produit <ul><li><a>, alors que le design d'origine
   plaçait les <a> en enfants directs. Ces règles rétablissent la mise
   en page sans toucher aux styles de liens existants.
   ========================================================= */
.scf .nav-links ul,.scf .mobile-menu ul,.scf .footer-grid ul{list-style:none !important;margin:0 !important;padding:0 !important}
.scf .nav-links ul{display:flex !important;align-items:center !important;gap:2px !important}
/* wp_nav_menu( items_wrap => '%3$s' ) ne produit PAS de <ul> : les <li> sont seuls.
   Un <li> garde display:list-item, donc sa puce — d'où list-style:none ici, sur le <li>
   lui-même. Neutraliser la puce sur un <ul> parent serait sans effet, il n'y en a pas. */
.scf .nav-links li,.scf .mobile-menu li,.scf .footer-grid li{list-style:none !important;list-style-type:none !important;margin:0 !important;padding:0 !important}
.scf .nav-links li::marker,.scf .mobile-menu li::marker,.scf .footer-grid li::marker{content:"" !important}
.scf .nav-links .current-menu-item>a{color:var(--accent-dark) !important;background:var(--accent-soft) !important}
.scf .footer-grid .current-menu-item>a{color:var(--gold) !important}

/* Lien d'évitement (accessibilité) : visible uniquement au clavier. */
.scf .skip-link,.screen-reader-text{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(1px,1px,1px,1px) !important;white-space:nowrap !important}
.scf .skip-link:focus{position:fixed !important;top:12px !important;left:12px !important;width:auto !important;height:auto !important;clip:auto !important;z-index:200 !important;background:var(--accent) !important;color:#fff !important;padding:12px 20px !important;border-radius:999px !important;font-weight:700 !important}

/* Contenu éditable depuis WordPress (the_content) : hérite de la typo du thème. */
.scf .entry-content>*+*{margin-top:1.1em !important}
.scf .entry-content h2{font-size:clamp(1.7rem,3vw,2.4rem) !important;margin-top:1.6em !important}
.scf .entry-content h3{font-size:1.3rem !important;margin-top:1.4em !important}
.scf .entry-content p,.scf .entry-content li{color:var(--ink-soft) !important;font-size:1.05rem !important}
.scf .entry-content ul,.scf .entry-content ol{padding-left:1.3em !important}
.scf .entry-content ul li{list-style:disc !important}
.scf .entry-content ol li{list-style:decimal !important}
.scf .entry-content a{color:var(--accent-dark) !important;text-decoration:underline !important}
.scf .entry-content img{border-radius:var(--radius) !important}
.scf .entry-content blockquote{border-left:4px solid var(--accent) !important;padding-left:20px !important;font-style:italic !important}
.scf .entry-content table{width:100% !important;border-collapse:collapse !important}
.scf .entry-content th,.scf .entry-content td{border:1px solid var(--line) !important;padding:10px 12px !important;text-align:left !important}

/* Ancres du footer : l'en-tête est collant (79 px), sans cette marge le titre
   de la section visée se retrouve caché dessous à l'arrivée. */
.scf section[id]{scroll-margin-top:96px !important}

/* =========================================================
   PLEINE LARGEUR ET DÉBORDEMENT
   ========================================================= */

/* Hello Elementor utilise EXACTEMENT les mêmes noms de classes que nous
   (.site-header, .site-footer) et peut leur imposer une largeur « boxed » depuis
   Personnaliser > Hello Theme. On force donc la pleine largeur, sinon le fond
   sombre du pied de page s'arrête avant le bord de l'écran. */
.scf .site-header,.scf .site-footer{width:100% !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;float:none !important}

/* overflow-x:hidden sur .scf faisait de lui un conteneur de défilement, ce qui
   neutralisait le position:sticky de l'en-tête : la barre ne restait pas en haut
   au scroll. « clip » découpe le débordement sans créer ce conteneur.
   La première déclaration reste en repli pour les navigateurs sans support de clip. */
.scf{overflow-x:hidden !important;overflow-x:clip !important}
