/* =========================================================
   Ajustements UX/UI — typographie, rythme et lisibilité
   Version validée PROMOSTORE DECO
   ========================================================= */
:root{
  --font-body:"Manrope","Avenir Next","Segoe UI",Arial,sans-serif;
  --font-display:"Outfit","Manrope","Avenir Next","Segoe UI",Arial,sans-serif;
  --container:1180px;
}
html{font-size:16px}
body{font-family:var(--font-body);font-weight:500;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,.product-title,.brand,.btn,.nav-links,.nav-contact{font-family:var(--font-display)}
h1,h2,h3{font-weight:600;text-wrap:balance}
p{max-width:72ch}
.btn{min-height:44px;padding-inline:18px;border-radius:10px;font-size:.88rem;font-weight:700}
.nav-links{font-size:.89rem;font-weight:600;gap:25px}
.topbar{font-size:.79rem}
.eyebrow,.home-kicker{font-family:var(--font-body);font-weight:800;letter-spacing:.12em}
.section{padding:68px 0}
.section-heading h2{font-size:clamp(1.75rem,2.6vw,2.7rem);line-height:1.12;letter-spacing:-.025em}
.page-hero{padding:50px 0}
.page-hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.035em}
.product-info h1{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.08;letter-spacing:-.03em}
.about-copy h2{font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1.07;letter-spacing:-.035em}
.cta-band h2{font-size:clamp(1.65rem,2.5vw,2.45rem);letter-spacing:-.025em}

/* Accueil : titres plus courts, plus respirants et mieux hiérarchisés */
.home-page .section{padding:88px 0}
.home-kicker{font-size:.7rem;margin-bottom:16px}
.home-hero{padding-top:58px}
.home-hero__grid{grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);gap:54px;min-height:610px;padding-bottom:54px}
.home-hero__copy{max-width:660px}
.home-hero__copy h1{font-size:clamp(2.65rem,4.5vw,4.45rem);line-height:1.01;letter-spacing:-.045em;max-width:650px}
.home-hero__lead{max-width:610px;font-size:1.02rem;line-height:1.7;margin:24px 0 28px}
.home-hero__micro{margin-top:36px;padding-top:20px}
.home-hero__visual{height:560px}
.home-trustbar>div{padding:23px 22px}
.home-about{padding-top:132px!important}
.home-about__grid{grid-template-columns:minmax(0,1fr) minmax(390px,.92fr);gap:72px}
.home-about__visual{min-height:590px}
.home-about__copy h2{font-size:clamp(2.2rem,3.65vw,3.55rem);line-height:1.04;letter-spacing:-.04em;margin-bottom:22px}
.home-about__intro{font-size:1.02rem;line-height:1.7}
.home-section-head{grid-template-columns:minmax(0,1fr) minmax(290px,.52fr);gap:52px;margin-bottom:38px}
.home-section-head h2{font-size:clamp(2.15rem,3.6vw,3.55rem);line-height:1.03;letter-spacing:-.04em}
.home-section-head>p{line-height:1.7}
.home-manifesto__grid{min-height:620px}
.home-manifesto__copy{padding:82px 64px 82px 0}
.home-manifesto__copy h2{font-size:clamp(2.45rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin-bottom:24px}
.home-manifesto__visual{min-height:620px}
.manifesto-word{font-size:clamp(5rem,12vw,10rem)}
.commitment-item h3{font-size:1.08rem;margin-top:20px}
.home-social{padding:58px 0}
.home-social h2{font-size:clamp(2.15rem,3.5vw,3.5rem);line-height:1.03;letter-spacing:-.04em}
.location-shell{min-height:540px}
.location-map{min-height:540px}
.location-info{padding:50px 44px}
.location-info h3{font-size:clamp(1.9rem,2.8vw,2.85rem);line-height:1.05;letter-spacing:-.035em}
.home-final-cta__box{padding:54px 58px}
.home-final-cta__box h2{font-size:clamp(2.1rem,3.3vw,3.35rem);line-height:1.03;letter-spacing:-.04em;max-width:700px}
.home-final-cta__box p{max-width:580px}

/* Cartes produit : meilleure densité visuelle */
.product-title{font-weight:600}
.product-body{gap:7px}
.product-desc{line-height:1.55}
.product-price{font-family:var(--font-display);font-weight:600}

@media (max-width:1150px){
  .home-hero__grid{grid-template-columns:1fr 1fr;gap:36px}
  .home-hero__copy h1{font-size:clamp(2.7rem,4.4vw,3.95rem)}
  .home-hero__visual{height:530px}
  .home-about__grid{gap:52px}
  .home-about__visual{min-height:540px}
}
@media (max-width:900px){
  .home-page .section{padding:72px 0}
  .home-hero{padding-top:36px}
  .home-hero__grid{grid-template-columns:1fr;gap:28px}
  .home-hero__copy{max-width:720px}
  .home-hero__copy h1{font-size:clamp(2.7rem,7vw,3.7rem);max-width:680px}
  .home-hero__visual{height:540px}
  .home-about{padding-top:116px!important}
  .home-about__grid{grid-template-columns:1fr}
  .home-about__visual{min-height:570px}
  .home-section-head{grid-template-columns:1fr;gap:14px}
  .home-manifesto__copy{padding:68px 0}
  .home-manifesto__visual{min-height:500px}
  .location-shell{grid-template-columns:1fr}
  .location-map{min-height:410px}
  .home-final-cta__box{padding:44px}
}
@media (max-width:620px){
  html{font-size:15.5px}
  .container{width:min(calc(100% - 24px),var(--container))}
  .section{padding:52px 0}
  .page-hero{padding:42px 0}
  .page-hero h1{font-size:2.35rem}
  .home-page .section{padding:58px 0}
  .home-hero{padding-top:24px}
  .home-hero__grid{gap:22px;padding-bottom:26px}
  .home-hero__copy h1{font-size:2.55rem;line-height:1.02;letter-spacing:-.04em}
  .home-hero__lead{font-size:.94rem;line-height:1.65;margin:20px 0 22px}
  .home-hero__actions{display:grid;grid-template-columns:1fr}
  .home-hero__actions .btn{width:100%}
  .home-hero__micro{margin-top:28px}
  .home-hero__visual{height:445px}
  .home-about{padding-top:94px!important}
  .home-about__visual{min-height:430px}
  .home-about__copy h2,.home-section-head h2,.home-social h2{font-size:2.2rem;line-height:1.04}
  .home-manifesto__copy h2{font-size:2.45rem;line-height:1.02}
  .home-manifesto__visual{min-height:390px}
  .location-info h3{font-size:2.15rem}
  .home-final-cta__box{padding:34px 22px}
  .home-final-cta__box h2{font-size:2.2rem}
  .home-final-cta__actions .btn{width:100%}
  .section-heading h2{font-size:2.1rem}
  .product-info h1{font-size:2.3rem}
}
