  :root{
    --navy:#1E3A66; --navy-deep:#132548; --charcoal:#2B3038;
    --accent:#C79A45; --accent-ink:#8A6D31;
    --paper:#F6F4EF; --white:#FFFFFF; --ink:#20242B; --steel:#6B7280; --line:#E3E0D8;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;line-height:1.5;}
  img,svg{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 clamp(18px,3.5vw,48px);}
  h1,h2,h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:600;color:var(--navy);}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;padding:12px 20px;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:all .18s ease;}
  .btn-solid{background:var(--navy);color:#fff;}
  .btn-solid:hover{background:var(--navy-deep);}
  .btn-outline{border-color:var(--navy);color:var(--navy);background:transparent;}
  .btn-outline:hover{background:var(--navy);color:#fff;}
  .btn-white{background:var(--white);color:var(--navy-deep);}
  .btn-white:hover{background:#EDEBE3;}

  /* ===== utility bar ===== */
  .util-bar{background:var(--navy-deep);color:#B9C4D8;font-family:'IBM Plex Mono',monospace;font-size:11.5px;}
  .util-row{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:7px 0;flex-wrap:wrap;}
  .util-row a{color:#B9C4D8;opacity:0.9;}
  .util-row a:hover{color:#fff;}
  .util-sep{opacity:0.35;}

  /* ===== mega nav ===== */
  .mega-nav{background:var(--navy);}
  .mega-row{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;}
  .logo{display:flex;align-items:center;gap:9px;padding:14px 18px;}
  .logo-mark{width:26px;height:26px;flex-shrink:0;}
  .logo-text{font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;color:#fff;letter-spacing:0.02em;}
  .logo-text span{color:#7C93B8;}
  .lang-switch{display:flex;align-items:center;}
  .lang-switch a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;padding:8px 12px;background:transparent;color:#B9C4D8;text-decoration:none;cursor:pointer;transition:color .15s ease;}
  .lang-switch a.active{color:#fff;text-decoration:underline;text-underline-offset:3px;}
  .lang-switch a:hover{color:#fff;}

  /* ===== HERO ===== */
  .hero{position:relative;overflow:hidden;background:var(--navy-deep);min-height:400px;}
  .hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,0.045) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,0.045) 39px 40px);pointer-events:none;}
  .hero-inner{position:relative;display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;padding:clamp(56px,8vh,90px) 0;}
  .hero-tag{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);}
  .hero h1{color:#fff;font-size:clamp(28px,3.6vw,44px);margin-top:14px;max-width:16ch;line-height:1.1;}
  .hero p.lede{color:#B9C4D8;margin-top:18px;max-width:44ch;font-size:15.5px;line-height:1.65;}
  .hero-ctas{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;}
  .hero-graphic{position:relative;aspect-ratio:1/1;max-width:340px;justify-self:center;}
  @media (max-width:820px){.hero-inner{grid-template-columns:1fr;}.hero-graphic{max-width:220px;opacity:0.5;}}

  /* ===== caption ===== */
  .caption{text-align:center;padding:44px 0 30px;}
  .caption h2{font-size:clamp(16px,2vw,22px);letter-spacing:0.03em;}

  /* ===== icon grid ===== */
  .icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .icon-tile{background:var(--white);padding:26px 14px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;transition:background .15s ease;cursor:pointer;}
  .icon-tile:hover{background:var(--paper);}
  .icon-tile svg{width:36px;height:36px;color:var(--navy);}
  .icon-tile span{font-size:12.5px;color:var(--ink);font-weight:500;}
  @media (max-width:900px){.icon-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:520px){.icon-grid{grid-template-columns:repeat(2,1fr);}}

  /* ===== offers: stock vs intermediation ===== */
  .offers-block{margin-top:56px;}
  .offers-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
  .offers-head h3{font-size:17px;color:var(--navy);}
  .offers-head p{font-size:13px;color:var(--steel);}
  .tile-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
  .photo-tile{position:relative;aspect-ratio:4/3;border-radius:2px;overflow:hidden;background:linear-gradient(160deg,var(--navy),var(--charcoal));display:flex;align-items:flex-end;padding:14px;}
  .photo-tile.demand{background:linear-gradient(160deg,#7C8A9C,#4A5568);}
  .photo-tile .tag{position:absolute;top:10px;left:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;padding:4px 8px;border-radius:2px;letter-spacing:0.04em;}
  .photo-tile.stock .tag{background:#fff;color:var(--navy-deep);}
  .photo-tile.demand .tag{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.7);}
  .photo-tile span.label{color:#fff;font-size:13px;font-weight:500;}
  @media (max-width:900px){.tile-row{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:520px){.tile-row{grid-template-columns:repeat(2,1fr);}}

  /* ===== sell + estimate banner ===== */
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:56px;}
  .duo-card{border-radius:2px;padding:34px;position:relative;overflow:hidden;min-height:160px;display:flex;flex-direction:column;justify-content:center;}
  .duo-card.sell{background:linear-gradient(135deg,var(--navy-deep),var(--navy));}
  .duo-card.maint{background:linear-gradient(135deg,var(--charcoal),#3A424C);}
  .duo-card h3{color:#fff;font-size:clamp(18px,2vw,23px);max-width:20ch;}
  .duo-card p{color:#B9C4D8;font-size:13.5px;margin-top:8px;max-width:34ch;}
  .duo-card a.more{margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--accent);display:inline-flex;gap:6px;align-items:center;}
  @media (max-width:760px){.duo{grid-template-columns:1fr;}}

  /* ===== services split ===== */
  .svc-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:60px;}
  .svc-panel{position:relative;min-height:210px;border-radius:2px;overflow:hidden;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg, rgba(19,37,72,0.2), rgba(19,37,72,0.88)), repeating-linear-gradient(45deg, #2B3038 0 12px, #333B45 12px 24px);}
  .svc-panel.featured{background:linear-gradient(180deg, rgba(19,37,72,0.15), rgba(19,37,72,0.92)), repeating-linear-gradient(45deg, var(--navy) 0 12px, #24447a 12px 24px);}
  .svc-panel .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--accent);letter-spacing:0.1em;text-transform:uppercase;}
  .svc-panel h3{color:#fff;font-size:clamp(18px,2vw,24px);margin-top:10px;max-width:18ch;}
  .svc-panel a.more{margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--accent);display:inline-flex;gap:6px;align-items:center;}
  @media (max-width:760px){.svc-split{grid-template-columns:1fr;}}

  /* ===== about + trust ===== */
  .about-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:60px;}
  .about-card{background:var(--white);border:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:18px;padding:20px;align-items:center;}
  .about-card .thumb{width:100%;aspect-ratio:1/1;background:linear-gradient(150deg,var(--navy),var(--charcoal));border-radius:2px;}
  .about-card .thumb.badge-thumb{background:var(--paper);display:flex;align-items:center;justify-content:center;}
  .about-card .thumb.badge-thumb svg{width:52px;height:52px;color:var(--navy);}
  .about-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--accent-ink);letter-spacing:0.1em;text-transform:uppercase;}
  .about-card h4{font-size:16px;margin-top:6px;color:var(--navy);font-family:'Oswald';text-transform:none;font-weight:600;}
  .about-card a.more{margin-top:8px;display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--navy);border-bottom:1px solid var(--navy);}
  @media (max-width:760px){.about-duo{grid-template-columns:1fr;}}

  /* ===== newsletter ===== */
  .newsletter{background:var(--white);border:1px solid var(--line);padding:26px;margin-top:60px;}
  .nl-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .nl-inner h4{font-size:17px;color:var(--navy);font-family:'Oswald';text-transform:none;font-weight:600;}
  .nl-form-row{display:flex;gap:10px;flex-wrap:wrap;}
  .nl-form-row input{border:1px solid var(--line);padding:12px 14px;font-family:'IBM Plex Sans';font-size:14px;min-width:220px;}

  /* ===== footer ===== */
  footer{background:var(--navy-deep);color:#B9C4D8;padding:56px 0 0;margin-top:60px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;}
  .foot-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
  .foot-col p,.foot-col li{color:#B9C4D8;font-size:13.5px;line-height:1.9;}
  .foot-col ul{list-style:none;}
  .foot-col a{color:#B9C4D8;}
  .foot-col a:hover{color:#fff;}
  .social-row{display:flex;gap:10px;margin-top:6px;}
  .social-row a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;}
  .social-row a:hover{background:var(--accent);color:var(--navy-deep);}
  .social-row svg{width:15px;height:15px;}
  .bottom-bar{background:var(--navy-deep);color:#B9C4D8;text-align:center;padding:14px 0;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.04em;border-top:1px solid rgba(255,255,255,0.12);}

  .mockup-flag{position:fixed;bottom:16px;right:16px;z-index:60;background:var(--navy);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;padding:9px 14px;border-radius:2px;box-shadow:0 4px 18px rgba(0,0,0,0.25);max-width:230px;text-align:right;}

/* ===================================================================
   Styles complémentaires — pages générées dynamiquement par WordPress
   (absentes de la maquette statique : filtres catalogue, fiche machine,
   pagination, formulaires natifs).
=================================================================== */

/* ----- Barre de filtres du catalogue ----- */
.catalog-filters{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;
  background:var(--white);border:1px solid var(--line);padding:16px 20px;margin:30px 0 26px;
}
.catalog-filters select{
  border:1px solid var(--line);padding:10px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;color:var(--ink);
  background:var(--paper);border-radius:2px;
}
.catalog-filters button{
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:10px 18px;background:var(--navy);color:#fff;border:none;border-radius:2px;cursor:pointer;
}
.catalog-filters button:hover{background:var(--navy-deep);}
.catalog-count{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--steel);}

/* ----- Grille catalogue (résultats) ----- */
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;}
.machine-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .15s ease;}
.machine-card:hover{box-shadow:0 12px 30px -16px rgba(19,37,72,0.25);}
.machine-card .thumb{position:relative;aspect-ratio:4/3;background:linear-gradient(160deg,var(--navy),var(--charcoal));overflow:hidden;}
.machine-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.machine-card .thumb .tag{position:absolute;top:10px;left:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;padding:4px 8px;border-radius:2px;letter-spacing:.04em;}
.machine-card .thumb .tag.stock{background:#fff;color:var(--navy-deep);}
.machine-card .thumb .tag.demand{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);}
.machine-card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.machine-card .cat{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);}
.machine-card h3{font-size:15px;margin:0;color:var(--navy);text-transform:none;font-family:'Oswald';font-weight:600;}
.machine-card .price{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--ink);margin-top:auto;}
.machine-card a.card-link{margin-top:6px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--navy);align-self:flex-start;}
@media (max-width:900px){.catalog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.catalog-grid{grid-template-columns:1fr;}}

.catalog-empty{padding:60px 20px;text-align:center;color:var(--steel);font-size:14px;}

/* ----- Pagination ----- */
.comexim-pagination{display:flex;gap:8px;justify-content:center;margin:20px 0 60px;flex-wrap:wrap;}
.comexim-pagination a,.comexim-pagination span{
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;padding:8px 13px;border:1px solid var(--line);color:var(--navy);text-decoration:none;
}
.comexim-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ----- Fiche machine (single-machine.php) ----- */
.machine-single{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;margin:40px 0 60px;align-items:start;}
.machine-gallery .main-image{aspect-ratio:4/3;background:linear-gradient(160deg,var(--navy),var(--charcoal));overflow:hidden;position:relative;}
.machine-gallery .main-image img{width:100%;height:100%;object-fit:cover;}
.machine-gallery .thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;}
.machine-gallery .thumbs img{width:74px;height:74px;object-fit:cover;border:1px solid var(--line);cursor:pointer;}
.machine-info .status-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:2px;margin-bottom:14px;}
.machine-info .status-badge.stock{background:var(--navy);color:#fff;}
.machine-info .status-badge.demand{background:transparent;color:var(--navy);border:1px solid var(--navy);}
.machine-info h1{font-size:clamp(22px,2.6vw,30px);margin-bottom:6px;}
.machine-info .ref{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--steel);margin-bottom:20px;}
.machine-info .price-row{font-family:'Oswald';font-size:22px;color:var(--navy);font-weight:600;margin:18px 0;}
.machine-info .specs{list-style:none;padding:0;margin:0 0 24px;border-top:1px solid var(--line);}
.machine-info .specs li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink);}
.machine-info .meta-row{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:20px;font-size:13px;color:var(--steel);}
.machine-info .meta-row strong{color:var(--ink);}
.machine-info .datasheet-link{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--navy);border:1px solid var(--navy);padding:10px 16px;text-decoration:none;margin-top:8px;}
.machine-info .datasheet-link:hover{background:var(--navy);color:#fff;}
@media (max-width:820px){.machine-single{grid-template-columns:1fr;}}

/* ----- Formulaire de contact natif (gravity/CF7 non requis : fallback simple) ----- */
.comexim-contact-form{max-width:640px;background:var(--white);border:1px solid var(--line);padding:30px;margin:30px 0 60px;}
.comexim-contact-form label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--steel);margin-bottom:6px;margin-top:16px;text-transform:uppercase;letter-spacing:.04em;}
.comexim-contact-form input,.comexim-contact-form textarea{width:100%;border:1px solid var(--line);padding:12px 14px;font-family:'IBM Plex Sans';font-size:14px;}
.comexim-contact-form button{margin-top:22px;}

/* ----- Menu mobile (toggle géré par assets/js/main.js) ----- */
.mobile-menu-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:10px 14px;}
@media (max-width:900px){
  .mobile-menu-toggle{display:flex;align-items:center;}
  .mega-row nav.nav-drop-wrap{display:none;width:100%;order:6;}
  .mega-row.open nav.nav-drop-wrap{display:flex;}
  .nav-drop-menu{flex-direction:column;width:100%;}
  .nav-drop-menu a{border-right:none;border-bottom:1px solid rgba(255,255,255,0.1);padding:14px 18px;}
  .nav-drop-menu ul.sub-menu{position:static;border:none;background:rgba(0,0,0,0.15);}
}

/* ----- Logo personnalisé (Apparence > Personnaliser > Identité du site) -----
   Pastille blanche pour garantir la lisibilité d'un logo foncé sur les
   fonds marine (nav + footer). Sans effet sur le pictogramme de repli,
   déjà en blanc/gris clair. */
.logo-chip{
  display:inline-flex;align-items:center;
  background:#fff;border-radius:4px;padding:5px 10px;
}
.logo-chip img{display:block;max-height:36px;width:auto;}

/* ===================================================================
   Sections éditables de la page d'accueil (texte officiel du client),
   rattachées aux champs ACF de la page d'accueil.
=================================================================== */

.about-intro{max-width:820px;margin:0 auto 56px;text-align:center;}
.about-intro p{color:var(--steel);font-size:15.5px;line-height:1.75;margin-top:14px;}

.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:60px;}
.expertise-card{background:var(--white);border:1px solid var(--line);padding:30px 26px;}
.expertise-card .emoji{font-size:26px;line-height:1;margin-bottom:14px;display:block;}
.expertise-card h3{font-size:16.5px;color:var(--navy);margin-bottom:10px;text-transform:none;font-weight:600;}
.expertise-card p{color:var(--steel);font-size:13.5px;line-height:1.6;margin-top:8px;}
@media (max-width:820px){.expertise-grid{grid-template-columns:1fr;}}

.content-section{max-width:820px;margin:0 auto;padding:50px 0;text-align:left;}
.content-section h2{font-size:clamp(20px,2.4vw,26px);color:var(--navy);margin-bottom:16px;}
.content-section p{color:var(--steel);font-size:15px;line-height:1.75;margin-top:12px;}
.content-section.on-dark{background:var(--navy);color:#fff;max-width:none;padding:60px 0;}
.content-section.on-dark .wrap-inner{max-width:820px;margin:0 auto;}
.content-section.on-dark h2{color:#fff;}
.content-section.on-dark p{color:#C7CEDB;}

.engagement-list{list-style:none;margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;}
.engagement-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);}
.engagement-list li::before{content:"";width:6px;height:6px;background:var(--navy);border-radius:50%;flex-shrink:0;}
@media (max-width:560px){.engagement-list{grid-template-columns:1fr;}}

.foot-tagline{font-family:'Oswald',sans-serif;font-size:15px;color:#fff;margin-top:14px;text-transform:none;font-weight:500;}
.foot-subtag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7C87A0;margin-top:8px;}

/* ===================================================================
   REFONTE DE LA PAGE D'ACCUEIL — nav blanche, hero photo, piliers,
   expertise détaillée, présence internationale (carte), bloc contact.
=================================================================== */

.hl{color:var(--accent);}

/* ----- En-tête : colonne logo + colonne droite (deux lignes) ----- */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}

.header-flex{display:flex;align-items:stretch;}

.header-logo-col{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  padding:10px 28px 10px 0;margin-right:26px;border-right:1px solid var(--line);
}
.header-logo-col .logo{padding:0;}
.header-logo-col .logo-chip{background:transparent;padding:0;}

.header-right-col{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:16px 0;min-width:0;}

/* -- Ligne 1 : texte de marque, recherche, À propos/Contact, langues -- */
.header-top{display:flex;align-items:center;gap:20px;flex-wrap:nowrap;}
.logo-wordmark{
  font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(20px,2.6vw,32px);letter-spacing:.01em;color:#22395c;white-space:nowrap;flex-shrink:0;
}

.header-divider{width:1px;height:26px;background:var(--line);flex-shrink:0;}

.utility-nav-menu{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0;}
.utility-nav-menu li{position:relative;}
.utility-nav-menu a{font-family:'IBM Plex Sans',sans-serif;font-size:15.5px;color:#5B7CB8;text-decoration:none;transition:color .15s ease;}
.utility-nav-menu a:hover{color:var(--navy);}
.utility-nav-menu li.current-menu-item{padding-left:14px;}
.utility-nav-menu li.current-menu-item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:var(--navy);border-radius:2px;}
.utility-nav-menu li.current-menu-item > a{color:var(--navy);font-weight:600;}

.mobile-menu-toggle{color:var(--navy);background:none;border:none;cursor:pointer;padding:8px;display:none;margin-left:auto;}

.header-top .search-box{
  flex:1;display:flex;align-items:center;gap:10px;max-width:420px;
  background:#FFFFFF;border:1px solid var(--line);border-radius:100px;padding:11px 18px;margin-left:auto;
}
.header-top .search-box svg{width:17px;height:17px;color:#7C8CA8;flex-shrink:0;}
.header-top .search-box input[type=text]{flex:1;border:none;background:transparent;font-family:'IBM Plex Sans';font-size:14.5px;color:var(--ink);}
.header-top .search-box input[type=text]::placeholder{color:#8C97AD;}
.header-top .search-box input[type=text]:focus{outline:none;}

.header-top .lang-switch{border:none;gap:8px;}
.header-top .lang-switch a{padding:2px;line-height:1;font-size:0;opacity:.55;transition:opacity .15s ease;}
.header-top .lang-switch a:hover,
.header-top .lang-switch a.active{opacity:1;}
.header-top .lang-switch img{width:24px;height:auto;border-radius:3px;display:block;}

/* -- Ligne 2 : bandeau pilule -- */
.pill-nav{
  display:flex;align-items:stretch;
  background:linear-gradient(90deg, #2F6FE0 0%, #1E3A66 22%, var(--navy-deep) 100%);
  border-radius:100px;overflow:visible;
  box-shadow:0 14px 30px -14px rgba(19,37,72,.4);
}
.pill-home{
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;margin:6px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;flex-shrink:0;
  transition:background .15s ease;
}
.pill-home:hover{background:rgba(255,255,255,.3);}
.pill-home .nav-icon{width:20px;height:20px;}

.pill-nav-menu{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;flex:1;}
.pill-nav-menu li{position:relative;display:flex;align-items:stretch;border-left:1px solid rgba(255,255,255,.14);}
.pill-nav-menu li:last-child{border-right:1px solid rgba(255,255,255,.14);}
.pill-nav-menu a{
  display:flex;align-items:center;gap:9px;padding:0 22px;
  color:#fff;text-decoration:none;font-family:'IBM Plex Sans',sans-serif;font-size:15px;font-weight:500;
  white-space:nowrap;position:relative;
}
.pill-nav-menu .nav-icon{width:18px;height:18px;opacity:.9;flex-shrink:0;}
.pill-nav-menu .nav-chevron{width:14px;height:14px;opacity:.75;margin-left:-2px;}
.pill-nav-menu a::after{
  content:"";position:absolute;left:22px;right:22px;bottom:10px;height:2px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.pill-nav-menu a:hover::after,
.pill-nav-menu li.current-menu-item > a::after,
.pill-nav-menu li.current_page_item > a::after{transform:scaleX(1);}
.pill-nav-menu li:last-child{border-right:none;}
.pill-nav-last a{padding-right:26px;}

.pill-nav-menu ul.sub-menu{
  display:none;position:absolute;top:100%;left:0;min-width:220px;z-index:20;margin-top:14px;
  background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;
  box-shadow:0 18px 40px -16px rgba(19,37,72,.35);
  list-style:none;padding:6px 0;flex-direction:column;
}
.pill-nav-menu li:hover > ul.sub-menu{display:flex;}
.pill-nav-menu ul.sub-menu a{display:block;padding:11px 18px;color:var(--ink);font-size:14px;}
.pill-nav-menu ul.sub-menu a::after{display:none;}
.pill-nav-menu ul.sub-menu a:hover{background:var(--paper);color:var(--navy);}

@media (max-width:980px){
  .header-top .search-box{display:none;}
  .mobile-menu-toggle{display:flex;}
  .pill-nav{border-radius:20px;flex-wrap:wrap;}
  #comexim-main-nav{display:none;}
  #comexim-main-nav.open{display:flex;}
  .pill-nav-menu{flex-direction:column;width:100%;}
  .pill-nav-menu li{border-left:none;border-top:1px solid rgba(255,255,255,.14);}
  .pill-nav-menu li:first-child{border-top:none;}
  .pill-nav-menu a{padding:14px 20px;}
  .pill-nav-menu ul.sub-menu{position:static;box-shadow:none;border:none;border-radius:0;background:rgba(0,0,0,.15);margin-top:0;}
  .pill-nav-menu ul.sub-menu a{color:#fff;}
  .pill-nav-menu ul.sub-menu a:hover{background:rgba(0,0,0,.2);color:#fff;}
}
@media (max-width:760px){
  .header-flex{flex-direction:column;align-items:stretch;}
  .header-logo-col{border-right:none;border-bottom:1px solid var(--line);margin-right:0;padding:14px 0;justify-content:flex-start;}
  .header-right-col{padding:14px 0;}
}
@media (max-width:640px){
  .utility-nav{display:none;}
  .header-divider{display:none;}
}

/* ----- Boutons ----- */
.btn-outline-white{border-color:rgba(255,255,255,.6);color:#fff;background:transparent;}
.btn-outline-white:hover{background:#fff;color:var(--navy);}

/* ----- Zones photo / repli dégradé ----- */
.photo-box{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--navy),var(--charcoal));}
.photo-box img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-box--placeholder::after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 14px, transparent 14px 28px);
}

/* ----- Hero photo ----- */
.hero-photo{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep);}
.hero-photo-bg{position:absolute;inset:0;z-index:0;}
.hero-photo-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, var(--navy-deep) 0%, rgba(19,37,72,.88) 38%, rgba(19,37,72,.35) 65%, rgba(19,37,72,.1) 100%);
}
.hero-photo-content{position:relative;z-index:2;max-width:640px;padding:80px 0;}
.eyebrow-line{
  display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;
}
.eyebrow-line::before{content:"";width:26px;height:2px;background:var(--accent);}
.eyebrow-line.on-dark{color:var(--accent);}
.hero-photo h1{color:#fff;font-size:clamp(30px,4.4vw,48px);line-height:1.15;margin-bottom:20px;}
.hero-lede{color:#D7DEE9;font-size:15.5px;line-height:1.7;max-width:52ch;margin-bottom:32px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-tag-list{
  position:absolute;right:clamp(18px,3.5vw,48px);bottom:24px;z-index:2;
  display:flex;flex-direction:column;gap:4px;text-align:right;
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:#fff;opacity:.85;
}
@media (max-width:820px){.hero-tag-list{display:none;}.hero-photo{min-height:auto;padding:20px 0;}}

/* ----- 4 piliers ----- */
.pillars-section{background:var(--white);border-bottom:1px solid var(--line);}
.pillars-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
.pillar-card{padding:36px 26px;border-right:1px solid var(--line);}
.pillar-card:last-child{border-right:none;}
.pillar-icon{width:32px;height:32px;color:var(--navy);margin-bottom:16px;}
.pillar-image{width:56px;height:56px;object-fit:contain;margin-bottom:16px;}
.pillar-card h3{font-size:15.5px;color:var(--ink);text-transform:none;font-family:'Oswald';font-weight:600;margin-bottom:14px;line-height:1.3;}
.pillar-link{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--navy);text-decoration:none;display:inline-flex;gap:6px;}
.pillar-link:hover{color:var(--accent-ink);}
@media (max-width:1100px){.pillars-grid{grid-template-columns:repeat(3,1fr);}.pillar-card{border-bottom:1px solid var(--line);}.pillar-card:nth-child(3n){border-right:none;}}
@media (max-width:700px){.pillars-grid{grid-template-columns:1fr 1fr;}.pillar-card:nth-child(3n){border-right:1px solid var(--line);}.pillar-card:nth-child(2n){border-right:none;}}
@media (max-width:480px){.pillars-grid{grid-template-columns:1fr;}.pillar-card{border-right:none !important;}}

/* ----- Expertise détaillée + collage ----- */
.expertise-detail{background:var(--paper);padding:80px 0;}
.expertise-detail-grid{display:grid;grid-template-columns:1fr 0.95fr;gap:60px;align-items:center;}
.expertise-detail-text h2{font-size:clamp(24px,2.8vw,32px);color:var(--navy);margin-bottom:18px;line-height:1.25;}
.expertise-detail-text p{color:var(--steel);font-size:15px;line-height:1.75;margin-top:12px;}
.mini-triad{display:flex;gap:30px;margin:28px 0 26px;flex-wrap:wrap;}
.mini-triad > div{display:flex;align-items:center;gap:10px;}
.mini-triad svg{width:26px;height:26px;color:var(--navy);}
.mini-triad span{font-size:13.5px;color:var(--ink);font-weight:500;}

.expertise-collage{position:relative;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:380px;}
.collage-main{grid-row:1 / 3;border-radius:2px;}
.collage-small{border-radius:2px;}
@media (max-width:820px){.expertise-detail-grid{grid-template-columns:1fr;}.expertise-collage{min-height:280px;margin-top:20px;}}

/* ----- Présence internationale / carte ----- */
.intl-section{background:var(--navy-deep);padding:84px 0;position:relative;overflow:hidden;}
.intl-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;align-items:center;}
.intl-text h2{color:#fff;font-size:clamp(24px,2.8vw,32px);margin-bottom:16px;line-height:1.25;}
.intl-text p{color:#C7CEDB;font-size:15px;line-height:1.75;margin-bottom:26px;}

.intl-map{position:relative;aspect-ratio:4/3;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:4px;overflow:hidden;}
.intl-map-dots{position:absolute;inset:0;width:100%;height:100%;fill:rgba(255,255,255,.12);}
.intl-map-lines{position:absolute;inset:0;width:100%;height:100%;}
.map-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;}
.map-pin-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(199,154,69,.2);flex-shrink:0;}
.map-pin-dot--base{width:12px;height:12px;box-shadow:0 0 0 7px rgba(199,154,69,.28);}
.map-pin-label{font-family:'IBM Plex Sans';font-size:12.5px;color:#fff;white-space:nowrap;display:flex;flex-direction:column;line-height:1.3;}
.map-pin-label small{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#9FB0C9;text-transform:uppercase;letter-spacing:.04em;}
.map-caption{position:absolute;left:16px;bottom:14px;right:16px;font-family:'Oswald';font-weight:600;color:#fff;font-size:14px;line-height:1.4;}
@media (max-width:820px){.intl-grid{grid-template-columns:1fr;}.intl-map{margin-top:10px;}}

/* ----- Bloc « Pourquoi nous choisir » + contact ----- */
.bottom-section{background:var(--white);padding:0;}
.bottom-grid{display:grid;grid-template-columns:1fr 1fr 0.9fr;}
.bottom-photo-wrap{position:relative;min-height:360px;}
.bottom-photo-wrap .photo-box{position:absolute;inset:0;}
.bottom-photo-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 28px;
  background:linear-gradient(0deg, rgba(19,37,72,.85), transparent);
  color:#fff;font-family:'Oswald';font-weight:600;font-size:16px;line-height:1.4;
}
.why-us{padding:56px 40px;background:var(--paper);}
.why-us h3{color:var(--navy);font-size:19px;text-transform:none;font-family:'Oswald';font-weight:600;margin-bottom:22px;}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.check-list li{display:flex;align-items:flex-start;gap:10px;}
.check-list svg{width:18px;height:18px;color:var(--accent-ink);flex-shrink:0;margin-top:1px;}
.check-list span{font-size:13.5px;color:var(--ink);line-height:1.5;}

.contact-card{padding:56px 36px;background:var(--navy);color:#fff;}
.contact-card h3{color:var(--accent);font-size:12px;font-family:'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.contact-card > p{color:#C7CEDB;font-size:13.5px;line-height:1.6;margin-bottom:22px;}
.contact-row{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:13.5px;margin-bottom:14px;}
.contact-row svg{width:17px;height:17px;color:var(--accent);flex-shrink:0;}
.contact-row:hover{color:var(--accent);}
@media (max-width:980px){.bottom-grid{grid-template-columns:1fr;}.bottom-photo-wrap{min-height:280px;}}

/* ----- Footer ----- */
.site-footer{background:var(--navy-deep);color:#B9C4D8;}
.foot-top{display:flex;align-items:center;gap:40px;flex-wrap:wrap;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.foot-top .logo-chip img{max-height:40px;}
.foot-nav{flex:1;}
.foot-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.foot-nav a{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:#B9C4D8;text-decoration:none;}
.foot-nav a:hover{color:#fff;}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#8E9BB5;}
.foot-bottom .lang-switch{border:none;gap:10px;}
.foot-bottom .lang-switch a{color:#8E9BB5;text-decoration:none;padding:0;font-family:'IBM Plex Mono',monospace;font-size:11.5px;}
.foot-bottom .lang-switch a.active{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.foot-subtag{letter-spacing:.1em;text-transform:uppercase;}

/* ----- Formulaire vendeur (page-vendre.php) ----- */
.form-section-title{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-ink);margin:26px 0 4px;
}
.comexim-contact-form .form-section-title:first-of-type{margin-top:6px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-row--3{grid-template-columns:1fr 1fr 1fr;}
.form-row > div{display:flex;flex-direction:column;}
.comexim-contact-form select{
  border:1px solid var(--line);padding:12px 14px;font-family:'IBM Plex Sans';font-size:14px;background:var(--white);color:var(--ink);
  margin-top:6px;
}
@media (max-width:640px){.form-row,.form-row--3{grid-template-columns:1fr;}}

.form-notice{padding:16px 20px;border-radius:2px;font-size:14px;margin-bottom:20px;max-width:640px;}
.form-notice--success{background:#EAF5EE;color:#1E6B3C;border:1px solid #BFE3CC;}
.form-notice--error{background:#FBEAEA;color:#9A2E2E;border:1px solid #F0C4C4;}

/* ----- Bandeau « Vendez votre machine » (bas du catalogue) ----- */
.sell-banner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--navy);padding:34px 36px;margin:10px 0 60px;border-radius:2px;
}
.sell-banner h3{color:#fff;font-size:18px;margin-top:8px;text-transform:none;font-family:'Oswald';font-weight:600;}

.field-hint{display:block;margin-top:5px;font-size:11.5px;color:var(--steel);}
.comexim-contact-form input[type=file]{
  border:1px solid var(--line);padding:10px 12px;font-family:'IBM Plex Sans';font-size:13px;background:var(--white);
  margin-top:6px;width:100%;
}

/* ===================================================================
   Page « Vendre ma machine » (page-vendre.php)
=================================================================== */

.vendre-hero{position:relative;background:var(--paper);overflow:hidden;padding:56px 0 40px;}
.vendre-hero-bg{
  position:absolute;top:0;right:0;bottom:0;width:55%;pointer-events:none;
  background:
    linear-gradient(100deg, rgba(246,244,239,1) 0%, rgba(246,244,239,.4) 45%, rgba(30,58,102,.08) 100%),
    repeating-linear-gradient(115deg, rgba(30,58,102,.05) 0 40px, transparent 40px 80px);
}
.vendre-title{margin-top:14px;font-size:clamp(30px,4vw,44px);line-height:1.1;}
.vendre-title .title-dark{position:relative;color:var(--ink);display:inline-block;}
.vendre-title .title-dark::after{content:"";position:absolute;left:2px;right:2px;bottom:-6px;height:3px;background:var(--navy);}
.vendre-title .hl{color:var(--accent-ink);margin-left:10px;}
.vendre-lede{margin-top:20px;color:var(--steel);font-size:15.5px;max-width:52ch;line-height:1.7;position:relative;}

.vendre-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;padding:36px 0 70px;align-items:start;}

.form-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:0 20px 50px -30px rgba(19,37,72,.2);}

.vendre-form .form-section-title{
  display:flex;align-items:center;gap:10px;color:var(--navy);font-size:16px;
  text-transform:none;font-family:'Oswald';font-weight:600;margin:26px 0 14px;
}
.vendre-form .form-section-title:first-child{margin-top:0;}
.vendre-form .form-section-title svg{width:19px;height:19px;color:var(--accent-ink);flex-shrink:0;}

.field-icon{position:relative;display:flex;align-items:center;}
.field-icon > svg{position:absolute;left:14px;width:17px;height:17px;color:var(--steel);pointer-events:none;}
.field-icon input,
.field-icon select{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px 12px 40px;
  font-family:'IBM Plex Sans';font-size:14px;color:var(--ink);background:var(--white);
}
.field-icon input::placeholder{color:#9AA3B2;}
.field-icon select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;}
.field-icon input:focus,
.field-icon select:focus,
.field-icon textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,102,.1);}
.field-icon.field-textarea{align-items:flex-start;}
.field-icon.field-textarea svg{top:14px;}
.field-icon textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px 12px 40px;
  font-family:'IBM Plex Sans';font-size:14px;color:var(--ink);resize:vertical;
}
.field-icon textarea::placeholder{color:#9AA3B2;}

.dropzone-field{display:flex;flex-direction:column;}
.dropzone-label{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--steel);margin-bottom:8px;letter-spacing:.03em;}
.dropzone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border:1.5px dashed var(--line);border-radius:10px;padding:22px 14px;cursor:pointer;
  background:var(--paper);transition:border-color .15s ease, background .15s ease;text-align:center;
}
.dropzone:hover{border-color:var(--accent-ink);background:var(--white);}
.dropzone svg{width:22px;height:22px;color:var(--accent-ink);}
.dropzone-text{font-size:13.5px;color:var(--navy);font-weight:500;}
.dropzone-hint{font-size:11.5px;color:var(--steel);}
.dropzone-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

.vendre-submit{
  width:100%;justify-content:center;margin-top:26px;padding:15px 20px;
  background:linear-gradient(90deg, var(--navy), #2F6FE0);border:none;
}
.vendre-submit svg{width:17px;height:17px;}

.sidebar-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:30px;position:sticky;top:96px;}
.sidebar-title{color:var(--navy);font-size:17px;text-transform:none;font-family:'Oswald';font-weight:600;margin-bottom:20px;}
.why-list{display:flex;flex-direction:column;gap:20px;}
.why-item{display:flex;gap:14px;align-items:flex-start;}
.why-icon{
  width:42px;height:42px;border-radius:50%;background:rgba(30,58,102,.08);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.why-icon svg{width:19px;height:19px;color:var(--navy);}
.why-item h4{color:var(--navy);font-size:14px;font-family:'Oswald';text-transform:none;font-weight:600;margin-bottom:4px;}
.why-item .why-text{color:var(--steel);font-size:13px;line-height:1.55;}

.sidebar-photo-wrap{position:relative;margin-top:26px;border-radius:12px;overflow:hidden;min-height:200px;}
.sidebar-photo-wrap .photo-box{position:absolute;inset:0;}
.sidebar-caption{
  position:relative;z-index:2;margin:0;padding:70px 18px 16px;
  background:linear-gradient(0deg, rgba(19,37,72,.75), transparent);
  font-family:'Oswald',sans-serif;font-style:italic;font-weight:500;color:#fff;font-size:14px;line-height:1.4;
}

@media (max-width:980px){
  .vendre-grid{grid-template-columns:1fr;}
  .sidebar-card{position:static;}
  .vendre-hero-bg{width:100%;opacity:.5;}
}
@media (max-width:640px){
  .form-card{padding:22px;}
}

/* ===================================================================
   Page Contact (page-contact.php) — colonne latérale coordonnées
=================================================================== */

.form-notice--info{background:#EBF1FA;color:var(--navy);border:1px solid #C9D9EF;font-family:'IBM Plex Mono',monospace;font-size:12.5px;}

.contact-info-list{display:flex;flex-direction:column;gap:4px;}
.contact-info-row{
  display:flex;align-items:center;gap:14px;padding:12px 4px;text-decoration:none;color:var(--ink);
  border-bottom:1px solid var(--line);font-size:14px;
}
.contact-info-list a.contact-info-row:hover{color:var(--navy);}
.contact-info-list > *:last-child{border-bottom:none;}
.contact-info-icon{
  width:38px;height:38px;border-radius:50%;background:rgba(30,58,102,.08);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-info-icon svg{width:17px;height:17px;color:var(--navy);}
