/*
 * Deux registres volontairement distincts :
 * - l'interface du service reste nette, sans-serif et en capitales ;
 * - les compositions retrouvent l'élégance Cormorant + Great Vibes.
 */
@font-face {
  font-family: "FP Cormorant Garamond";
  src: url("/faire-part/fonts/cormorant-garamond-regular-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "FP Cormorant Garamond";
  src: url("/faire-part/fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "FP Great Vibes";
  src: url("/faire-part/fonts/great-vibes-regular-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "FP Corinthia";
  src: url("/faire-part/themes/theme-jardin-ivoire-premium/assets/fonts/corinthia-regular-latin.woff2?v=1") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* Les nouveaux modèles reprennent la famille éditoriale exacte d'Orangerie. */
@font-face {
  font-family: "FP Orangerie Cormorant Garamond";
  src: url("/faire-part/themes/theme-jardin-ivoire-premium/assets/fonts/cormorant-garamond-regular-latin.woff2?v=1") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --fp-type-ui: "Avenir Next", Avenir, Inter, "Segoe UI", Helvetica, Arial, sans-serif;
  --fp-type-editorial: "FP Cormorant Garamond", "Times New Roman", Times, Georgia, serif;
  --fp-type-signature: "FP Great Vibes", Allura, "Segoe Script", cursive;
}

/* Marrakech reprend exactement l'ecriture attachee d'Orangerie.
 * Sa couleur reste pilotee par sa propre palette ivoire. */
html[data-design="theme-m-107ed570b23ffb7a32440fda"] :is(
  .fpi-hero h1,
  .fpi-admin-video-copy h2,
  .fpd-invite h2,
  .fpd-admin-video-copy h2
),
.fpd-stage[data-design="theme-m-107ed570b23ffb7a32440fda"] :is(
  .fpd-invite h2,
  .fpd-admin-video-copy h2
) {
  font-family: "FP Corinthia", cursive;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

/* Grands titres du produit : francs, lisibles et assumés en capitales. */
body.fp-landing :is(h1, h2, h3),
body.fps-body :is(h1, h2, h3),
body[data-fpd-demo] :is(h1, h2, h3),
body[data-faire-part-management] :is(h1, h2, h3),
.fp-privacy :is(h1, h2, h3) {
  text-transform: uppercase;
}

body.fp-landing .fp-hero h1,
body.fp-landing .fp-section h2,
body.fp-landing .fp-final-cta h2,
body.fps-body .fps-step-head h1,
body.fps-body .fps-step-head h2,
body[data-fpd-demo] .fpd-copy h1 {
  font-family: var(--fp-type-ui);
  letter-spacing: -.042em;
  text-transform: uppercase;
}

body[data-faire-part-management] :is(
  .fpm-auth-story h1,
  .fpm-form-heading h2,
  .fpm-dashboard-hero h1,
  .fpm-guests-header h1,
  .fpm-section-heading h2,
  .fpm-empty-projects h3,
  .fpm-guest-empty h3,
  .fpm-project-card h3,
  .fpm-help-card h2,
  .fpm-simple-guard h2,
  .fpm-error-view h1
) {
  font-family: var(--fp-type-ui);
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.fp-privacy :is(.fpp-hero h1, .fpp-essential h2, .fpp-content h2, .fpp-content h3, .fpp-contact h2) {
  letter-spacing: -.025em;
  text-transform: uppercase;
}

/* Compositions actives : la typographie annonce déjà le faire-part. */
body[data-fpd-demo] .fpd-invite,
body.fps-body :is(.fps-design-thumb, .fps-invitation),
body[data-faire-part-management] .fpm-project-preview {
  font-family: var(--fp-type-editorial);
  font-synthesis: none;
}

body[data-fpd-demo] .fpd-invite h2,
body.fps-body :is(.fps-design-thumb strong, .fps-invitation > h2),
body[data-faire-part-management] .fpm-project-preview strong {
  font-family: var(--fp-type-signature);
  font-style: normal;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: .82;
  text-transform: none;
}

body[data-fpd-demo] .fpd-invite h2 { letter-spacing: .015em; }
body.fps-body .fps-invitation > h2 { font-size: clamp(2.65rem, 5vw, 3.5rem); }
body.fps-body :is(.fps-design-thumb strong, .fps-invitation > h2),
body[data-faire-part-management] .fpm-project-preview strong {
  max-width: 100%;
  padding: .12em .2em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

body[data-fpd-demo] .fpd-invite h2 i,
body.fps-body .fps-invitation > h2 i {
  font-family: var(--fp-type-editorial);
  font-style: italic;
  font-weight: 400;
}

/* Faire-part publié : composition éditoriale, commandes toujours fonctionnelles. */
.fpi-invitation {
  font-family: var(--fp-type-editorial);
  font-synthesis: none;
}

.fpi-hero h1 {
  font-family: var(--fp-type-signature);
  font-size: clamp(4.15rem, 17vw, 8.9rem);
  font-weight: 400;
  letter-spacing: .01em;
  line-height: .78;
  text-transform: none;
  text-wrap: balance;
}

.fpi-hero h1 span {
  padding-inline: .12em;
  overflow: visible;
}

.fpi-hero h1 i {
  font-family: var(--fp-type-editorial);
  font-size: .48em;
  font-style: italic;
  font-weight: 400;
}

.fpi-invitation :is(
  .fpi-intro h2,
  .fpi-media h2,
  .fpi-program h2,
  .fpi-contact h2,
  .fpi-response h2,
  .fpi-gallery-copy h3,
  .fpi-clip-copy h3,
  .fpi-timeline h3
) {
  font-family: var(--fp-type-editorial);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .92;
  text-transform: none;
}

.fpi-invitation :is(
  .fpi-intro h2 span,
  .fpi-media h2 span,
  .fpi-program h2 span,
  .fpi-contact h2 span,
  .fpi-response h2 span
) {
  font-style: italic;
  font-weight: 400;
}

/* Les repères et les formulaires restent nets, comme sur la référence Mounia & Jawad. */
.fpi-invitation :is(
  .fpi-eyebrow,
  .fpi-section-index,
  .fpi-date,
  .fpi-city,
  .fpi-scroll,
  .fpi-media-placeholder,
  .fpi-audio-card,
  .fpi-video-placeholder,
  .fpi-contact-card,
  .fpi-form,
  button,
  input,
  textarea,
  select
) {
  font-family: var(--fp-type-ui);
}

@media (max-width: 520px) {
  .fpi-hero h1 { font-size: clamp(4rem, 19vw, 6.2rem); }
}
