/* =========================================================
   APF HOME — MASTER COMPLETE V3
   Direction : premium patrimonial haut de gamme
   Objectif :
   - garder la structure HTML actuelle
   - unifier toute la direction artistique
   - hero plus vivant et moins filtré
   - titres puissants mais moins écrasants
   - cards plus nobles
   - process clair et élégant
   - aucun gadget inutile
   FICHIER COMPLET À UTILISER EN REMPLACEMENT TOTAL
   ========================================================= */

:root{
  --apf-olive:#7A7F2B;
  --apf-olive-dark:#646A21;
  --apf-olive-soft:#9AA15D;

  --apf-brown:#3A332C;
  --apf-brown-soft:#60584F;
  --apf-brown-faint:#7A7268;

  --apf-ivory:#FBF7F0;
  --apf-sand:#F4EEE4;
  --apf-sand-2:#EFE7DA;
  --apf-white:#FFFFFF;

  --apf-border:rgba(58,51,44,.08);
  --apf-border-soft:rgba(58,51,44,.05);

  --apf-shadow-soft:0 16px 34px rgba(58,51,44,.07);
  --apf-shadow-medium:0 24px 54px rgba(58,51,44,.10);
  --apf-shadow-strong:0 34px 84px rgba(58,51,44,.14);
  --apf-shadow-panel:0 28px 68px rgba(0,0,0,.15);

  --apf-radius:24px;
  --apf-radius-lg:32px;
  --apf-radius-xl:40px;

  --apf-max:1240px;
  --apf-max-wide:1320px;
}

/* =========================
   BASE
   ========================= */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

.apf-home-main{
  max-width:var(--apf-max-wide);
  margin:0 auto;
  padding:112px 24px 86px;
  position:relative;
}

.apf-home-main > *{
  margin-bottom:98px;
}

.apf-home-main p,
.apf-home-main li{
  color:var(--apf-brown-soft);
  line-height:1.82;
  font-size:1.06rem;
}

.apf-home-main h2,
.apf-home-main h3{
  color:var(--apf-brown);
  letter-spacing:-.03em;
  text-wrap:balance;
  margin-top:0;
}

.apf-home-main a{
  transition:all .25s ease;
}

.apf-home-main .wp-block-buttons{
  gap:14px;
}

/* =========================
   SECTION HEADINGS
   ========================= */

.apf-section-heading{
  text-align:center;
  max-width:var(--apf-max-wide);
  margin:0 auto 52px;
}

.apf-section-heading h2{
  max-width:1100px;
  margin:0 auto 18px;
  font-size:clamp(2.35rem, 4vw, 3.5rem);
  line-height:1.045;
}

.apf-section-heading p{
  max-width:860px;
  margin:0 auto;
  font-size:1.08rem;
}

/* Sections secondaires : calmer légèrement les titres */
.apf-testimonials-wrap .apf-section-heading h2,
.apf-zone-card h2,
.apf-cta-card-final h2{
  max-width:980px;
  font-size:clamp(2.1rem, 3.4vw, 3.7rem);
  line-height:1.07;
}

/* =========================
   HERO
   ========================= */

.apf-hero{
  position:relative;
  overflow:hidden;
}

.apf-hero-cover::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.28), rgba(0,0,0,.18)),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.10), transparent 34%);
  z-index:1;
}

.apf-hero-premium .wp-block-cover__inner-container{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:0 auto;
  padding:144px 24px 110px;
}

.apf-hero-panel{
  max-width:1080px;
  margin:0 auto;
  text-align:center;
  padding:44px 38px 30px;
  border-radius:var(--apf-radius-xl);
  background:linear-gradient(180deg, rgba(36,31,27,.14), rgba(36,31,27,.08));
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  box-shadow:var(--apf-shadow-panel);
}

.apf-hero-title{
  color:#fff;
  font-size:clamp(2.95rem, 5vw, 3.25rem);
  line-height:1.01;
  max-width:1000px;
  margin:0 auto 22px;
  text-shadow:0 2px 8px rgba(0,0,0,.10);
}

.apf-hero-text{
  color:#fff;
  max-width:920px;
  margin:0 auto 30px;
  font-size:1.18rem;
  line-height:1.72;
}

.apf-btn-primary .wp-element-button,
.apf-btn-primary .wp-block-button__link{
  background:linear-gradient(180deg, var(--apf-olive-soft) 0%, var(--apf-olive-dark) 100%);
  color:#fff;
  border:none;
  border-radius:14px;
  padding:15px 28px;
  font-weight:700;
  box-shadow:0 12px 24px rgba(122,127,43,.22);
}

.apf-btn-primary .wp-element-button:hover,
.apf-btn-primary .wp-block-button__link:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(122,127,43,.28);
}

.apf-btn-secondary .wp-element-button,
.apf-btn-secondary .wp-block-button__link{
  border-radius:14px;
  padding:15px 28px;
  font-weight:700;
}

.apf-hero .apf-btn-secondary .wp-element-button,
.apf-hero .apf-btn-secondary .wp-block-button__link{
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
}

.apf-hero .apf-btn-secondary .wp-element-button:hover,
.apf-hero .apf-btn-secondary .wp-block-button__link:hover{
  background:rgba(255,255,255,.16);
}

/* Hero proof cards */
.apf-proof-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
}

.apf-proof{
  width:100%;
  padding:18px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  text-align:center;
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}

.apf-proof p{
  margin:0;
  color:rgba(255,255,255,.95);
  line-height:1.5;
  font-size:.98rem;
}

.apf-proof strong{
  color:#fff;
}

/* =========================
   GRIDS
   ========================= */

.apf-grid{
  display:grid;
  gap:30px;
  align-items:stretch;
}

.apf-grid-2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.apf-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.apf-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

/* =========================
   CARD BASE
   ========================= */

.apf-card{
  height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.84));
  border:1px solid var(--apf-border);
  border-radius:var(--apf-radius);
  padding:34px 28px;
  box-shadow:var(--apf-shadow-soft);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  position:relative;
  overflow:hidden;
}

.apf-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.18), transparent 42%);
  pointer-events:none;
}

.apf-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--apf-shadow-medium);
  border-color:rgba(58,51,44,.11);
}

.apf-card h3{
  font-size:clamp(1.66rem, 1.95vw, 2.32rem);
  line-height:1.06;
  margin-bottom:16px;
  position:relative;
  z-index:1;
}

.apf-card p{
  margin:0;
  position:relative;
  z-index:1;
}

.apf-card-link{
  margin-top:18px !important;
  position:relative;
  z-index:1;
}

.apf-card-link a{
  color:var(--apf-olive);
  text-decoration:none;
  font-weight:700;
}

.apf-card-link a:hover{
  text-decoration:underline;
}

/* Première série de cartes : petit marqueur discret */
.apf-why-cards .apf-card{
  padding-top:38px;
}

.apf-why-cards .apf-card::before{
  content:"";
  position:absolute;
  top:24px;
  left:28px;
  width:42px;
  height:3px;
  border-radius:4px;
  background:linear-gradient(90deg, var(--apf-olive), var(--apf-olive-soft));
  z-index:1;
}

.apf-why-cards .apf-card h3{
  margin-top:18px;
}

/* =========================
   HIGHLIGHT SECTIONS
   ========================= */

.apf-showcase,
.apf-process-wrap,
.apf-testimonials-wrap,
.apf-zone-card,
.apf-cta-card-final{
  border-radius:var(--apf-radius-lg);
  padding:58px 34px;
  background:linear-gradient(180deg, var(--apf-ivory) 0%, var(--apf-sand) 100%);
  border:1px solid var(--apf-border-soft);
  box-shadow:var(--apf-shadow-soft);
}

.apf-showcase .apf-card,
.apf-process-wrap .apf-card,
.apf-testimonials-wrap .apf-card{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
}

.apf-showcase .apf-section-heading,
.apf-process-wrap .apf-section-heading,
.apf-testimonials-wrap .apf-section-heading{
  margin-bottom:38px;
}

/* =========================
   OFFERS
   ========================= */

.apf-offers-cards .apf-card{
  border-radius:26px;
  box-shadow:0 16px 38px rgba(58,51,44,.07);
}

.apf-offers-cards .apf-card h3{
  font-size:clamp(1.72rem, 1.95vw, 2.40rem);
}

/* =========================
   EXAMPLES / TESTIMONIALS
   ========================= */

.apf-example-tag,
.apf-testimonial-sign{
  color:var(--apf-olive) !important;
  font-weight:700;
  margin-bottom:14px !important;
}

.apf-example-tag{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(122,127,43,.08);
  font-size:.84rem !important;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.apf-example-card h3{
  font-size:clamp(1.76rem, 2.1vw, 2.48rem);
}

.apf-testimonial-card{
  padding:36px 30px;
}

.apf-testimonial-card p:first-child{
  font-size:1.06rem;
  line-height:1.82;
}

.apf-testimonial-sign{
  font-size:.98rem;
}

/* =========================
   PROCESS — PARCOURS MÉTIER CLAIR
   ========================= */

.apf-process-cards{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
}

.apf-step-card{
  position:relative;
  padding:34px 26px 30px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  box-shadow:0 16px 38px rgba(58,51,44,.06);
}

.apf-step-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  margin-bottom:18px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(122,127,43,.16), rgba(122,127,43,.08));
  border:1px solid rgba(122,127,43,.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 10px 24px rgba(122,127,43,.08);
  font-size:1rem;
  font-weight:900;
  color:var(--apf-olive-dark);
  line-height:1;
  letter-spacing:-.02em;
}

.apf-step-card h3{
  font-size:clamp(1.58rem, 1.8vw, 2.05rem);
  line-height:1.05;
  margin:0 0 12px;
}

.apf-step-card p{
  font-size:1rem;
  line-height:1.75;
}

/* =========================
   USE CASES
   ========================= */

.apf-use-case-cards .apf-card{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(252,248,241,.95));
  min-height:100%;
}

.apf-use-case-cards .apf-card p{
  font-size:1.06rem;
  line-height:1.82;
}

/* =========================
   CTA CARDS
   ========================= */

.apf-cta-card{
  text-align:center;
}

.apf-cta-card h2{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(2.1rem, 3.6vw, 3.9rem);
  line-height:1.06;
}

.apf-cta-card p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

.apf-zone-card .wp-block-buttons,
.apf-cta-card-final .wp-block-buttons{
  justify-content:center;
  gap:14px;
  margin-top:22px;
}

/* =========================
   SECTION RHYTHM
   ========================= */

.apf-why-cards,
.apf-offers-cards,
.apf-use-case-cards,
.apf-example-cards,
.apf-testimonials{
  max-width:var(--apf-max);
  margin-left:auto;
  margin-right:auto;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width:1100px){
  .apf-home-main{
    padding:96px 20px 64px;
  }

  .apf-home-main > *{
    margin-bottom:82px;
  }

  .apf-hero-premium .wp-block-cover__inner-container{
    padding:132px 20px 96px;
  }

  .apf-showcase,
  .apf-process-wrap,
  .apf-testimonials-wrap,
  .apf-zone-card,
  .apf-cta-card-final,
  .apf-card{
    padding-left:24px;
    padding-right:24px;
  }

  .apf-grid-4,
  .apf-process-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:768px){
  .apf-home-main{
    padding:78px 16px 40px;
  }

  .apf-home-main > *{
    margin-bottom:56px;
  }

  .apf-hero-premium .wp-block-cover__inner-container{
    padding:112px 16px 82px;
  }

  .apf-hero-panel{
    padding:28px 18px 22px;
  }

  .apf-hero-title{
    font-size:2.1rem;
  }

  .apf-hero-text{
    font-size:1rem;
  }

  .apf-proof-strip{
    grid-template-columns:1fr;
  }

  .apf-section-heading h2,
  .apf-cta-card h2,
  .apf-testimonials-wrap .apf-section-heading h2,
  .apf-zone-card h2,
  .apf-cta-card-final h2{
    font-size:2rem;
  }

  .apf-grid-2,
  .apf-grid-3,
  .apf-grid-4,
  .apf-process-cards{
    grid-template-columns:1fr;
  }

  .apf-card h3{
    font-size:1.55rem;
  }
}

@media (max-width:480px){
  .apf-btn-primary .wp-element-button,
  .apf-btn-primary .wp-block-button__link,
  .apf-btn-secondary .wp-element-button,
  .apf-btn-secondary .wp-block-button__link{
    width:100%;
  }

  .apf-hero-title{
    font-size:1.78rem;
  }

  .apf-hero .wp-block-buttons,
  .apf-zone-card .wp-block-buttons,
  .apf-cta-card-final .wp-block-buttons{
    flex-direction:column;
    align-items:stretch;
  }
}
