/* ===================================================================
   Contenu de la page d'accueil GraV'PRO — à charger en plus du reskin
   global (site-reskin.css). Toutes les classes sont préfixées gp- pour
   ne jamais entrer en collision avec Storefront, WooCommerce ou un
   autre plugin.
   =================================================================== */

.gp-wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
.gp-btn{
  display:inline-block;font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:500;
  padding:11px 20px;border-radius:2px;text-decoration:none;border:1px solid transparent;
}
.gp-btn-primary{background:var(--gp-brass-dark);color:#fff;}
.gp-btn-primary:hover{background:var(--gp-brass);color:#fff;}
.gp-btn-ghost{background:transparent;border-color:var(--gp-ink);color:var(--gp-ink);}
.gp-btn-ghost:hover{border-color:var(--gp-brass-dark);color:var(--gp-brass-dark);}

/* Hero */
.gp-hero{
  padding:56px 0 64px;position:relative;
  background-image:
    linear-gradient(rgba(36,33,32,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36,33,32,.05) 1px, transparent 1px);
  background-size:26px 26px;
}
.gp-hero .gp-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.gp-hero-copy h1{font-size:34px;line-height:1.28;letter-spacing:.005em;margin:0;}
.gp-hero-copy p{font-size:16.5px;color:var(--gp-muted);max-width:46ch;margin:22px 0 30px;}
.gp-hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.gp-hero-visual svg{display:block;max-width:100%;height:auto;}

/* Trois univers */
.gp-univers{padding:64px 0;border-top:1px solid var(--gp-line);}
.gp-section-head{max-width:56ch;margin-bottom:40px;}
.gp-section-head h2{font-size:24px;margin:0 0 14px;}
.gp-section-head p{color:var(--gp-muted);font-size:15.5px;margin:0;}
.gp-univers-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.gp-univers-col{padding:0 30px;}
.gp-univers-col:not(:first-child){border-left:1px solid var(--gp-line);}
.gp-univers-icon{width:40px;height:40px;margin-bottom:18px;}
.gp-univers-col h3{font-size:18px;margin-bottom:10px;}
.gp-univers-col p{color:var(--gp-muted);font-size:14.5px;margin:0 0 14px;}
.gp-univers-col .gp-tag{font-size:12.5px;color:var(--gp-brass-dark);border-top:1px solid var(--gp-line);padding-top:10px;}

/* Savoir-faire (bandeau sombre) */
.gp-savoir-faire{background:var(--gp-foundry);color:var(--gp-foundry-text);padding:64px 0;}
.gp-savoir-faire .gp-section-head h2, .gp-savoir-faire .gp-section-head p{color:var(--gp-foundry-text);}
.gp-savoir-faire .gp-section-head p{color:#B9B1A0;}
.gp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:32px;}
.gp-steps::before{content:"";position:absolute;top:19px;left:6%;right:6%;height:1px;background:var(--gp-foundry-line);}
.gp-step{position:relative;padding:0 18px;text-align:left;}
.gp-step-num{
  width:38px;height:38px;border-radius:50%;background:var(--gp-foundry);border:1px solid var(--gp-brass);
  color:var(--gp-brass);font-family:"Cinzel",serif;font-size:14px;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;position:relative;z-index:1;
}
.gp-step h3{font-size:15.5px;font-weight:600;font-family:"IBM Plex Sans",sans-serif;margin-bottom:8px;color:var(--gp-foundry-text);}
.gp-step p{font-size:13.5px;color:#B9B1A0;margin:0;}

/* Finitions */
.gp-finitions{padding:64px 0;border-top:1px solid var(--gp-line);}
.gp-material-families{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 40px;margin-top:32px;}
.gp-material-family{border-left:3px solid var(--gp-brass);padding-left:18px;}
.gp-material-family h3{font-size:16px;margin:0 0 10px;}
.gp-mini-swatch-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;}
.gp-mini-swatch{width:20px;height:20px;border-radius:50%;box-shadow:0 2px 4px rgba(36,31,26,.18);flex-shrink:0;}
.gp-material-family p{font-size:13.5px;color:var(--gp-muted);margin:0;line-height:1.5;}
.gp-finitions-link{font-size:14.5px;margin-top:14px;}
.gp-finitions-link a{color:var(--gp-brass-dark);text-decoration:underline;}

/* Comment ça marche */
.gp-process{padding:64px 0;border-top:1px solid var(--gp-line);}
.gp-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:32px;}
.gp-process-num-circle{
  width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--gp-brass);
  color:var(--gp-brass-dark);font-family:"Cinzel",serif;font-size:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.gp-process-step h3{font-size:16px;margin:0 0 8px;}
.gp-process-step p{font-size:14px;color:var(--gp-muted);margin:0;}

/* Bandeau CTA */
.gp-cta-band{background:var(--gp-paper-soft);border-top:1px solid var(--gp-line);border-bottom:1px solid var(--gp-line);padding:56px 0;text-align:center;}
.gp-cta-band h2{font-size:26px;margin:0 0 16px;}
.gp-cta-band p{color:var(--gp-muted);max-width:50ch;margin:0 auto 26px;}
.gp-cta-band .gp-hero-actions{justify-content:center;}
.gp-shop-invite{font-size:13.5px;color:var(--gp-muted);margin:24px 0 0;}
.gp-shop-invite a{color:var(--gp-brass-dark);font-weight:600;text-decoration:underline;}

/* FAQ */
.gp-faq{padding:64px 0;border-top:1px solid var(--gp-line);}
.gp-faq-list{margin-top:8px;}
.gp-faq-item{border-bottom:1px solid var(--gp-line);padding:20px 0;}
.gp-faq-item h3{font-size:15.5px;margin:0 0 8px;font-weight:600;font-family:"IBM Plex Sans",sans-serif;}
.gp-faq-item p{font-size:14px;color:var(--gp-muted);margin:0;max-width:68ch;}

@media (max-width:900px){
  .gp-hero .gp-wrap{grid-template-columns:1fr;gap:32px;}
  .gp-hero-visual{order:-1;}
  .gp-univers-grid{grid-template-columns:1fr;gap:30px;}
  .gp-univers-col{border-left:none !important;padding:0;}
  .gp-material-families{grid-template-columns:1fr;gap:24px;}
  .gp-steps{grid-template-columns:1fr 1fr;row-gap:28px;}
  .gp-steps::before{display:none;}
  .gp-process-grid{grid-template-columns:1fr;gap:24px;}
}
