/* ============================================================
   FC Design — Patrimoine v1.0.1
   Patterns CSS — compatible n'importe quel thème WordPress
============================================================ */

/* ---- DESIGN TOKENS (injectés sur tous les patterns via .fcdp-*) ---- */
.fcdp-section,
.fcdp-hero,
.fcdp-compare,
.fcdp-quote-band,
.fcdp-cta-final,
.fcdp-stats,
.fcdp-faq,
.fcdp-steps-grid,
.fcdp-cas-grid {
  --c-bg:          #080c15;
  --c-bg-2:        #0d1220;
  --c-bg-3:        #141928;
  --c-bg-warm:     #0f0c08;
  --c-bg-warm-2:   #14100b;
  --c-gold:        #c8a050;
  --c-gold-light:  #e2c878;
  --c-gold-dim:    #7a6030;
  --c-text:        #ece6da;
  --c-text-2:      #b0a898;
  --c-text-3:      #7a7268;
  --c-border:      #1e2436;
  --c-border-warm: #2a201a;
  --s-lg: 32px;
  --s-md: 16px;
  --s-xl: 48px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---- OVERRIDES GUTENBERG & THEME ---- */
.fcdp-section .wp-block-group,
.fcdp-hero .wp-block-group {
  background: transparent !important;
}
.fcdp-section p,
.fcdp-hero p,
.fcdp-stats p,
.fcdp-compare p,
.fcdp-quote-band p,
.fcdp-cta-final p,
.fcdp-faq p {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
}

/* ---- LABEL (eyebrow) ---- */
.fcdp-label {
  font-weight: 600 !important;
}

/* ---- BUTTONS ---- */
.fcdp-btn .wp-block-button__link {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 280ms ease;
}
.fcdp-btn .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
}
.fcdp-btn--gold .wp-block-button__link:hover {
  box-shadow: 0 8px 40px rgba(200, 160, 80, 0.35) !important;
}
.fcdp-btn--ghost .wp-block-button__link:hover {
  border-color: #c8a050 !important;
  color: #c8a050 !important;
  background: transparent !important;
}

/* ---- HERO ---- */
.fcdp-hero {
  position: relative !important;
}
.fcdp-hero .wp-block-cover__background,
.fcdp-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
}
.fcdp-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(200,160,80,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,160,80,0.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 75% 75% at 50% 50%, black, transparent);
  z-index: 0;
}

/* ---- STATS STRIP ---- */
.fcdp-stats__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
}
.fcdp-stats__item {
  padding: 40px 32px !important;
  border-right: 1px solid #1e2436 !important;
  text-align: center !important;
}
.fcdp-stats__item:last-child { border-right: none !important; }
.fcdp-stats__num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.25rem, 3.5vw, 3.25rem);
  font-weight: 600;
  color: #c8a050;
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}
.fcdp-stats__label {
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #7a7268;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .fcdp-stats__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .fcdp-stats__item:nth-child(2) { border-right: none !important; }
  .fcdp-stats__item:nth-child(3),
  .fcdp-stats__item:nth-child(4) { border-top: 1px solid #1e2436 !important; }
}

/* ---- TWO COL ---- */
.fcdp-two-col {
  gap: 80px !important;
}
@media (max-width: 1023px) {
  .fcdp-two-col { flex-wrap: wrap !important; }
  .fcdp-two-col .wp-block-column { flex-basis: 100% !important; }
}

/* ---- QUOTE BAND ---- */
.fcdp-quote-band { position: relative; overflow: hidden; }
.fcdp-quote-band::before {
  content: '"';
  position: absolute;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: min(600px, 80vw);
  font-weight: 700;
  color: rgba(200,160,80,0.025);
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* ---- STEPS GRID ---- */
.fcdp-steps-grid {
  gap: 20px !important;
  position: relative;
}
.fcdp-steps-grid::before {
  content: '';
  position: absolute;
  top: 44px;
  left: calc(16.66%);
  right: calc(16.66%);
  height: 1px;
  background: linear-gradient(90deg, transparent, #7a6030 20%, #7a6030 80%, transparent);
}
@media (max-width: 1023px) {
  .fcdp-steps-grid { flex-wrap: wrap !important; }
  .fcdp-steps-grid .wp-block-column { flex-basis: 100% !important; }
  .fcdp-steps-grid::before { display: none; }
}
.fcdp-step-tag {
  font-family: 'DM Sans', system-ui, sans-serif;
}

/* ---- CAS GRID ---- */
.fcdp-cas-grid {
  gap: 20px !important;
}
@media (max-width: 767px) {
  .fcdp-cas-grid { flex-wrap: wrap !important; }
  .fcdp-cas-grid .wp-block-column { flex-basis: 100% !important; }
}

/* ---- FAQ ---- */
.fcdp-faq__item.is-open .fcdp-faq__icon {
  transform: rotate(45deg);
  border-color: #7a6030 !important;
}
.fcdp-faq__item.is-open .fcdp-faq__icon svg { stroke: #c8a050; }

/* ---- CTA FINAL ---- */
.fcdp-cta-final { position: relative; overflow: hidden; }
.fcdp-cta-final::before {
  content: '';
  position: absolute;
  width: min(900px, 80vw);
  height: min(900px, 80vw);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse, rgba(200,160,80,0.055) 0%, transparent 62%);
  pointer-events: none;
}

/* ---- ANIMATIONS ---- */
.fcdp-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 720ms cubic-bezier(0.16, 1, 0.3, 1),
              transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}
.fcdp-reveal.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ---- REDUCED MOTION ---- */
@media (prefers-reduced-motion: reduce) {
  .fcdp-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
  .fcdp-faq__icon { transition: none !important; }
  .fcdp-btn .wp-block-button__link { transition: none !important; }
}
