:root{
  --red:#d72c28;
  --red-dark:#b91f1b;
  --ink:#121622;
  --dark:#1a1f2c;
  --muted:#6f7a8d;
  --muted-2:#9aa5b5;
  --line:#dfe6ee;
  --soft:#f4f6f8;
  --white:#fff;
  --container:1320px;
  --shadow:0 18px 45px rgba(15,23,42,.07);
  --shadow-soft:0 10px 25px rgba(15,23,42,.045);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:15px}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.55}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{border:0;background:transparent;color:inherit;cursor:pointer}
img{display:block;max-width:100%}
svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(100% - 2rem,var(--container));margin-inline:auto}
.eyebrow{display:block;margin-bottom:.8rem;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.page-title,.hero-title,.section-title{font-family:"Space Grotesk",Inter,sans-serif;margin:0;color:var(--ink);letter-spacing:-.045em;line-height:1.06}
.page-title{font-size:clamp(2.05rem,3.1vw,3.35rem)}
.section-title{font-size:clamp(1.65rem,2.3vw,2.35rem)}
.lead{font-size:.96rem;color:var(--muted);font-weight:350;line-height:1.72;margin:1rem 0 0;max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:8px;min-height:2.65rem;padding:.72rem 1.08rem;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap;transition:.2s ease}
.btn svg{width:1rem;height:1rem}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 12px 24px rgba(215,44,40,.18)}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px)}
.btn-dark{background:var(--dark);color:#fff}
.btn-dark:hover{background:var(--red);transform:translateY(-1px)}
.btn-light{background:#fff;border-color:#cfd7e3;color:#334155}
.btn-light:hover{background:#f8fafc}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid #eef2f7}
.header-inner{height:5.35rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.8rem}
.brand-mark{position:relative;width:2.65rem;height:2.65rem;border-radius:6px;background:var(--red);color:white;display:grid;place-items:center;box-shadow:0 10px 20px rgba(215,44,40,.2);overflow:hidden}
.brand-mark:after{content:"";position:absolute;inset:auto -30% -45% 35%;height:70%;background:rgba(255,255,255,.15);transform:rotate(-18deg)}
.brand-mark svg{position:relative;z-index:1;width:1.28rem;height:1.28rem}
.brand-name{display:block;font-family:"Space Grotesk",Inter,sans-serif;font-size:1.42rem;font-weight:800;letter-spacing:-.05em;line-height:1}
.brand-name span{color:var(--red);font-weight:350}
.brand-sub{display:block;margin-top:.2rem;font-family:"JetBrains Mono",monospace;font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:#98a5b8}
.desktop-nav{display:flex;align-items:center;gap:1.9rem}
.desktop-nav a{position:relative;color:#4b5565;font-size:.86rem;font-weight:600}
.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.desktop-nav a.active,.desktop-nav a:hover{color:var(--red)}
.desktop-nav a.active:after,.desktop-nav a:hover:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:1rem}
.phone{display:flex;align-items:center;gap:.55rem;color:#4b5565;font-weight:600;font-size:.85rem}
.phone svg{color:var(--red)}
.mobile-toggle{display:none;font-size:1.7rem;color:#475569;padding:.4rem}
.mobile-nav{display:none;border-top:1px solid #eef2f7;padding:1rem 0 1.2rem}
.mobile-nav.open{display:grid;gap:.65rem}
.mobile-nav a{font-weight:700;color:#334155;padding:.45rem 0}
.mobile-nav a.active{color:var(--red)}
.hero{position:relative;background:#111827}
.hero-media{position:relative;min-height:500px;height:min(74vh,680px);overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.86;filter:saturate(1.02) contrast(1.03)}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.34),rgba(15,23,42,.08))}
.hero-content{position:absolute;inset:0;z-index:2;display:flex;align-items:center}
.hero-box{max-width:38rem;background:rgba(255,255,255,.96);border-left:4px solid var(--red);border-radius:6px;padding:2rem 2.15rem 2.15rem;box-shadow:0 26px 75px rgba(2,6,23,.22)}
.hero-title{font-size:clamp(2.05rem,3.8vw,3.45rem)}
.hero-box p{margin:1rem 0 1.5rem;color:#647084;font-size:.96rem;line-height:1.65;max-width:34rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.section{padding:4.2rem 0}
.section-soft{background:var(--soft);border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7}
.center{text-align:center;margin-inline:auto}
.intro-block{max-width:820px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:980px;margin:2rem auto 0}
.choice-card{display:block;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.55rem;box-shadow:var(--shadow-soft);transition:.2s ease}
.choice-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.choice-icon{width:2.8rem;height:2.8rem;border-radius:8px;background:#fff1f1;color:var(--red);display:grid;place-items:center;margin-bottom:1rem}
.choice-icon svg{width:1.45rem;height:1.45rem}
.choice-card h3{font-family:"Space Grotesk",Inter,sans-serif;font-size:1.2rem;margin:.2rem 0 .45rem}
.choice-card p,.choice-card li{color:var(--muted);font-size:.85rem;line-height:1.65}
.choice-card ul{list-style:none;margin:1.15rem 0 0;padding:0}
.choice-card li{position:relative;padding-left:1.2rem;margin:.55rem 0}
.choice-card li:before{content:"";position:absolute;left:0;top:.55rem;width:.42rem;height:.42rem;border-radius:99px;background:var(--red)}
.machine-grid,.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.machine-img{height:20rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.machine-img img{width:100%;height:100%;object-fit:cover}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;margin-top:2rem}
.catalog-grid.full{grid-template-columns:repeat(5,minmax(0,1fr))}
.catalog-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-soft);transition:.2s ease}
.catalog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.catalog-cover{height:16rem;padding:1rem;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#1a1f2c,#0f172a)}
.catalog-cover .mini{font-family:"JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.55rem;opacity:.78;font-weight:800}
.catalog-cover .cover-icon svg{width:2.4rem;height:2.4rem}
.catalog-cover strong{font-family:"Space Grotesk";font-size:1.2rem;line-height:1.1}
.catalog-card .body{padding:1rem}
.catalog-card h3{font-family:"Space Grotesk";font-size:.96rem;line-height:1.3;margin:0 0 .4rem}
.catalog-card p{color:var(--muted);font-size:.79rem;line-height:1.6;margin:0 0 .7rem}
.meta{display:flex;gap:.35rem;flex-wrap:wrap;color:#98a5b8;font-size:.67rem;font-family:"JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.1em}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;margin-top:2rem}
.gallery-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-soft);transition:.2s ease}
.gallery-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.gallery-media{position:relative;aspect-ratio:16/11;overflow:hidden;background:#edf2f7}
.gallery-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-card:hover img{transform:scale(1.045)}
.tag{position:absolute;left:.7rem;top:.7rem;background:rgba(26,31,44,.92);color:white;border-radius:5px;padding:.25rem .48rem;font-family:"JetBrains Mono";font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.gallery-card .body{padding:1rem}
.client{display:block;color:var(--red);font-family:"JetBrains Mono";font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;margin-bottom:.35rem}
.gallery-card h3{font-family:"Space Grotesk";font-size:.96rem;line-height:1.25;margin:0 0 .4rem}
.gallery-card p{font-size:.78rem;line-height:1.55;color:var(--muted);margin:0}
.subpage{background:var(--soft);min-height:calc(100vh - 5.35rem);padding:3rem 0 4rem}
.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--red);font-family:"JetBrains Mono";font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2rem}
.page-intro{max-width:820px}
.section-split-title{display:flex;align-items:center;gap:.8rem;margin:3rem 0 1.4rem;padding-bottom:1rem;border-bottom:1px solid var(--line);font-family:"Space Grotesk";font-size:1.22rem;font-weight:800;letter-spacing:-.03em}
.section-split-title:before{content:"";width:.42rem;height:1.9rem;border-radius:99px;background:var(--red)}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.service-card{display:grid;grid-template-columns:250px 1fr;height:158px;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow-soft);transition:.2s ease}
.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.service-media{height:100%;overflow:hidden;background:#edf2f7}
.service-media img{width:100%;height:100%;object-fit:cover;display:block}
.service-content{min-width:0;padding:1.25rem 1.35rem;display:flex;flex-direction:column;justify-content:center}
.service-content h3{margin:0 0 .45rem;font-family:"Space Grotesk";font-size:1.08rem;line-height:1.2;letter-spacing:-.02em}
.service-content p{margin:0;color:#788395;font-size:.79rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.service-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:var(--red);font-family:"JetBrains Mono";font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.service-link svg{width:.92rem;height:.92rem}
.techniques-panel{max-width:920px;margin:3rem auto 0;padding:2rem;border-radius:15px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.tech-card{background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;padding:1.2rem;text-align:center}
.tech-card b{display:block;font-family:"Space Grotesk";font-size:1.18rem;color:var(--red);margin-bottom:.35rem}
.tech-card span{font-size:.79rem;color:var(--muted);line-height:1.6}
.service-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start}
.detail-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow-soft)}
.detail-card ul{list-style:none;margin:1rem 0 0;padding:0}
.detail-card li{position:relative;padding-left:1.25rem;margin:.7rem 0;color:#475569;font-size:.86rem}
.detail-card li:before{content:"";position:absolute;left:0;top:.5rem;width:.42rem;height:.42rem;background:var(--red);border-radius:99px}
.detail-main-img{height:25rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#edf2f7}
.detail-main-img img,.small-img img{width:100%;height:100%;object-fit:cover}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.small-img{height:9rem;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.filters{display:flex;gap:.55rem;flex-wrap:wrap;margin:2rem 0}
.filters button{border:1px solid var(--line);background:#fff;color:#475569;border-radius:999px;padding:.6rem .92rem;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.filters button.active,.filters button:hover{background:var(--dark);color:white;border-color:var(--dark)}
.contact-section{background:#0f172a;color:white;padding:4.4rem 0}
.contact-section .section-title,.contact-section strong{color:white}
.contact-section .lead,.contact-section .muted{color:#94a3b8}
.contact-list{display:grid;gap:.9rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #1e293b}
.contact-list a,.contact-list p{margin:0;display:flex;align-items:center;gap:.75rem;color:#cbd5e1;font-size:.88rem}
.contact-list svg{color:var(--red);width:1.15rem;height:1.15rem}
.quote-form{display:grid;gap:1rem;background:white;color:var(--ink);padding:2rem;border-radius:12px;box-shadow:0 26px 60px rgba(2,6,23,.22)}
.quote-form label{display:grid;gap:.38rem;color:#64748b;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;color:#0f172a;padding:.78rem .9rem;font-size:.86rem;text-transform:none;letter-spacing:0;font-weight:400}
.quote-form textarea{resize:vertical}
.sub-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.76rem;color:#94a3b8}
.sub-footer a:hover{color:var(--red)}
.cta-panel{margin-top:3rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:2rem;text-align:center;box-shadow:var(--shadow-soft)}
.admin-panel{background:#0f172a;border-radius:14px;overflow:hidden;color:white;box-shadow:var(--shadow)}
.admin-head{padding:2rem;background:linear-gradient(135deg,#111827,#1e293b)}
.admin-tabs{display:flex;gap:.5rem;padding:.8rem;background:#111827;flex-wrap:wrap}
.admin-tabs button{padding:.7rem 1rem;border-radius:8px;color:#94a3b8;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.admin-tabs button.active,.admin-tabs button:hover{background:white;color:#0f172a}
.admin-body{padding:1.5rem}
.table-wrap{overflow:auto;border:1px solid #334155;border-radius:10px}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid #334155}
th{font-family:"JetBrains Mono";font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}
td{font-size:.86rem;color:#e2e8f0}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;font-family:"JetBrains Mono";font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:#1e293b;color:#cbd5e1}
.badge.ok{background:#064e3b;color:#a7f3d0}
.badge.warn{background:#78350f;color:#fde68a}
.badge.bad{background:#7f1d1d;color:#fecaca}
@media (max-width:1120px){
  .desktop-nav,.header-actions{display:none}
  .mobile-toggle{display:block}
  .catalog-grid.full{grid-template-columns:repeat(3,minmax(0,1fr))}
  .services-grid{grid-template-columns:1fr}
  .service-card{grid-template-columns:260px 1fr}
  .service-detail-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  .choice-grid,.machine-grid,.contact-grid,.gallery-grid,.catalog-grid,.catalog-grid.full,.tech-grid{grid-template-columns:1fr}
  .catalog-card{max-width:22rem;margin-inline:auto;width:100%}
  .section{padding:3.2rem 0}
  .hero-media{height:66vh;min-height:440px}
  .hero-box{max-width:34rem;padding:1.35rem}
  .hero-title{font-size:clamp(1.8rem,6vw,2.7rem)}
}
@media (max-width:640px){
  html{font-size:14px}
  .container{width:min(100% - 1.25rem,var(--container))}
  .header-inner{height:4.7rem}
  .brand-mark{width:2.35rem;height:2.35rem}
  .brand-name{font-size:1.18rem}
  .brand-sub{font-size:.49rem}
  .service-card{grid-template-columns:1fr;height:auto}
  .service-media{height:12rem}
  .service-content{padding:1.15rem}
  .hero-box{padding:1.1rem}
  .hero-box p{font-size:.84rem}
  .sub-footer{flex-direction:column;text-align:center}
}


/* ==== Ajustements demandés : header, catalogues A4, galerie simplifiée, lien types de marquage ==== */

/* Header : liens affichés plus grands, propres, sans soulignement animé */
.desktop-nav{
  gap:3.05rem;
  align-items:center;
}
.desktop-nav a{
  font-size:1.18rem;
  line-height:1;
  font-weight:500;
  letter-spacing:.045em;
  color:#535d6e;
}
.desktop-nav a:after{
  display:none;
}
.desktop-nav a.active,
.desktop-nav a:hover{
  color:var(--red);
}
.header-inner{
  min-height:5.25rem;
}

/* Suppression visuelle des anciens filtres si présents par cache */
.filters{
  display:none !important;
}

/* Catalogues : vrai rendu portrait A4 avec titre + petite description */
.catalog-grid.full{
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  align-items:start;
}
.catalog-grid{
  align-items:start;
}
.catalog-card{
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.catalog-card:hover{
  transform:translateY(-3px);
  box-shadow:none;
}
.catalog-card .catalog-cover{
  aspect-ratio:210/297;
  height:auto;
  min-height:0;
  border-radius:14px;
  padding:1.15rem;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 18px 35px rgba(15,23,42,.14);
  display:flex;
  flex-direction:column;
}
.catalog-card .catalog-cover .mini{
  font-size:.53rem;
}
.catalog-card .catalog-cover .cover-icon{
  margin-top:auto;
  margin-bottom:auto;
  opacity:.95;
}
.catalog-card .catalog-cover strong{
  font-size:1.02rem;
  line-height:1.14;
  max-width:95%;
}
.catalog-card .body{
  padding:.9rem .15rem 0;
}
.catalog-card .body h3{
  margin:0 0 .35rem;
  font-size:.94rem;
  line-height:1.25;
}
.catalog-card .body p{
  font-size:.76rem;
  line-height:1.55;
  margin:0;
  color:#6f7a8d;
}
.catalog-card .meta{
  display:none;
}

/* Galerie : réalisations sans commentaires ni descriptions */
.gallery-grid{
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
}
.gallery-card{
  position:relative;
  border-radius:14px;
  overflow:hidden;
}
.gallery-media{
  aspect-ratio:4/3;
}
.gallery-caption{
  padding:.85rem .95rem;
  background:#fff;
}
.gallery-caption h3{
  margin:0;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:.92rem;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--ink);
}

/* Prestations : bloc lien vers la page types de marquage */
.marking-link-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:-.3rem 0 1.4rem;
  padding:1rem 1.1rem;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  border-radius:12px;
  box-shadow:var(--shadow-soft);
}
.marking-link-panel strong{
  display:block;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:1rem;
  letter-spacing:-.02em;
}
.marking-link-panel p{
  margin:.22rem 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}
.marking-link-panel .btn{
  flex:0 0 auto;
}

/* Page types de marquage */
.marking-types-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
  margin-top:2.2rem;
}
.marking-type-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  padding:1.45rem;
  box-shadow:var(--shadow-soft);
}
.marking-number{
  display:inline-flex;
  margin-bottom:1rem;
  font-family:"JetBrains Mono",monospace;
  font-size:.68rem;
  font-weight:800;
  color:var(--red);
  letter-spacing:.14em;
}
.marking-type-card h2{
  margin:0 0 .65rem;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:1.4rem;
  letter-spacing:-.035em;
}
.marking-type-card p,
.marking-type-card li{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.62;
}
.marking-type-card ul{
  margin:1rem 0 0;
  padding:0;
  list-style:none;
}
.marking-type-card li{
  position:relative;
  margin:.5rem 0;
  padding-left:1.1rem;
}
.marking-type-card li:before{
  content:"";
  position:absolute;
  left:0;
  top:.58rem;
  width:.38rem;
  height:.38rem;
  border-radius:50%;
  background:var(--red);
}

@media (max-width:1220px){
  .desktop-nav{gap:2rem}
  .desktop-nav a{font-size:1.05rem}
}
@media (max-width:1120px){
  .desktop-nav a{font-size:1rem}
  .marking-types-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .marking-link-panel{
    align-items:flex-start;
    flex-direction:column;
  }
  .catalog-grid.full,
  .catalog-grid{
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  }
}


/* ==== Ajustements finaux v4 : header plus petit, catalogues compacts, mobile, suppression espace privé ==== */

/* Header plus discret */
.desktop-nav{
  gap:2.25rem;
}
.desktop-nav a{
  font-size:.88rem !important;
  letter-spacing:.035em !important;
  font-weight:500 !important;
}
.header-inner{
  min-height:4.8rem;
  height:4.8rem;
}
.brand-name{
  font-size:1.25rem;
}
.brand-sub{
  font-size:.48rem;
}
.brand-mark{
  width:2.4rem;
  height:2.4rem;
}
.phone{
  font-size:.78rem;
}
.header-actions .btn{
  min-height:2.35rem;
  padding:.6rem .9rem;
  font-size:.62rem;
}

/* Catalogues plus petits tout en gardant le rendu A4 */
.catalog-grid{
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:1rem;
}
.catalog-grid.full{
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:1rem;
}
.catalog-card .catalog-cover{
  border-radius:10px;
  padding:.8rem;
  box-shadow:0 12px 24px rgba(15,23,42,.12);
}
.catalog-card .catalog-cover .mini{
  font-size:.46rem;
}
.catalog-card .catalog-cover .cover-icon svg{
  width:1.75rem;
  height:1.75rem;
}
.catalog-card .catalog-cover strong{
  font-size:.78rem;
  line-height:1.14;
}
.catalog-card .body{
  padding:.65rem .05rem 0;
}
.catalog-card .body h3{
  font-size:.74rem;
  line-height:1.22;
  margin-bottom:.25rem;
}
.catalog-card .body p{
  font-size:.62rem;
  line-height:1.45;
}

/* Galerie plus compacte */
.gallery-grid{
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:1rem;
}
.gallery-caption{
  padding:.65rem .75rem;
}
.gallery-caption h3{
  font-size:.78rem;
}

/* Suppression de la zone espace privé */
.sub-footer{
  justify-content:center;
  text-align:center;
}
.sub-footer a{
  display:none !important;
}

/* Responsive tablette */
@media (max-width:1220px){
  .desktop-nav{
    gap:1.35rem;
  }
  .desktop-nav a{
    font-size:.82rem !important;
  }
}

/* Mobile : catalogues visibles en plusieurs colonnes */
@media (max-width:760px){
  .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.75rem;
  }
  .catalog-grid.full{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.55rem;
  }
  .catalog-card .catalog-cover{
    padding:.55rem;
    border-radius:8px;
  }
  .catalog-card .catalog-cover .mini{
    font-size:.38rem;
    letter-spacing:.1em;
  }
  .catalog-card .catalog-cover .cover-icon svg{
    width:1.25rem;
    height:1.25rem;
  }
  .catalog-card .catalog-cover strong{
    font-size:.56rem;
    line-height:1.08;
  }
  .catalog-card .body{
    padding:.45rem .02rem 0;
  }
  .catalog-card .body h3{
    font-size:.56rem;
    line-height:1.15;
  }
  .catalog-card .body p{
    font-size:.48rem;
    line-height:1.25;
  }

  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.75rem;
  }
  .gallery-media{
    aspect-ratio:4/3;
  }
  .gallery-caption{
    padding:.5rem .55rem;
  }
  .gallery-caption h3{
    font-size:.62rem;
    line-height:1.15;
  }
}

/* Très petits mobiles : on garde quand même les 3 catalogues dans la page catalogues */
@media (max-width:430px){
  .catalog-grid.full{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.45rem;
  }
  .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.55rem;
  }
}

/* Menu mobile : liens un peu plus petits également */
.mobile-nav a{
  font-size:.9rem;
}


/* ==== Ajustements v5 : blocs catalogues/galerie centrés et plus espacés ==== */

.catalog-grid{
  width:100%;
  max-width:820px;
  margin:2.6rem auto 0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(145px, 155px));
  justify-content:center;
  justify-items:center;
  gap:2rem;
}

.catalog-grid.full{
  max-width:1180px;
  margin:2.8rem auto 0;
  grid-template-columns:repeat(auto-fit, minmax(145px, 155px));
  justify-content:center;
  justify-items:center;
  gap:2rem 2.15rem;
}

.catalog-card{
  width:100%;
  max-width:155px;
}

.gallery-grid{
  width:100%;
  max-width:1180px;
  margin:2.7rem auto 0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(245px, 280px));
  justify-content:center;
  justify-items:center;
  gap:2rem;
}

.gallery-card{
  width:100%;
  max-width:280px;
}

.subpage .gallery-grid{
  max-width:1220px;
  gap:2.1rem;
}

@media (max-width:760px){
  .catalog-grid{
    max-width:100%;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    justify-items:stretch;
    gap:1rem;
  }

  .catalog-grid.full{
    max-width:100%;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    justify-items:stretch;
    gap:.8rem;
  }

  .catalog-card{
    max-width:none;
  }

  .gallery-grid{
    max-width:100%;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    justify-items:stretch;
    gap:1rem;
  }

  .gallery-card{
    max-width:none;
  }
}

@media (max-width:430px){
  .catalog-grid{
    gap:.75rem;
  }

  .catalog-grid.full{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:.55rem;
  }

  .gallery-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.7rem;
  }
}
