/**
 * Tokens partagés — style catalogue formations (inspiré Udemy).
 */
:root {
  --pca-color-ink: var(--wp--preset--color--secondary, #143340);
  --pca-color-muted: #6a6f73;
  --pca-color-surface: #ffffff;
  --pca-color-border: #d1d7dc;
  --pca-color-accent: var(--wp--preset--color--primary, #068fff);
  --pca-color-accent-hover: var(--wp--preset--color--secondary, #143340);
  --pca-radius-md: 8px;
  --pca-shadow-card: 0 2px 4px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.08);
  --pca-container-content: var(--wp--style--global--content-size, 1350px);
  --pca-container-max: var(--wp--style--global--wide-size, 1700px);
  --pca-block-space-y: clamp(3rem, 5.5vw, 4.25rem);
  --pca-block-space-y-lg: clamp(3.75rem, 6.5vw, 5.25rem);
  --pca-font-display: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --pca-lecture-player-max-width: 1280px;
  /* 3 niveaux de fond : blanc → surface-soft → contrast-alt */
  --pca-bg-base: var(--wp--preset--color--white, #ffffff);
  --pca-bg-soft: var(--wp--preset--color--surface-soft, #fcfdfe);
  --pca-bg-section: var(--wp--preset--color--contrast-alt, #f7f9fa);
}

.pca-block-container {
  width: min(100% - 2rem, var(--pca-container-max));
  margin-inline: auto;
}

/** Contenu interne : wide (1700) vs content (1350). Le bloc reste align full pour le fond. */
.pca-block-container--wide {
  width: min(100% - 2rem, var(--pca-container-max));
}

.pca-block-container--content {
  width: min(100% - 2rem, var(--pca-container-content));
}

/* Blocs natifs Gutenberg entre les sections ACF */
.pca-main > .wp-block-buttons {
  width: min(100% - 2rem, var(--pca-container-content));
  margin-inline: auto;
}

/* Blocs ACF pleine largeur : fond sur toute la viewport, contenu en wide. */
.pca-main .alignfull:is(.wp-block-acf-section, .wp-block-acf-hero, .wp-block-acf-inner-hero, .wp-block-acf-formation-hero, .wp-block-acf-index-formations, .wp-block-acf-index-blog, .wp-block-acf-search-results, .wp-block-acf-services-section, .wp-block-acf-cta-section, .wp-block-acf-accordion, .wp-block-acf-slider-clients, .wp-block-acf-banniere-formation, .wp-block-acf-contenu-formation, .wp-block-acf-contact-coordonnees, .wp-block-acf-home-offer-paths, .wp-block-acf-home-expertise-hub, .wp-block-acf-panel-utilisateur, .wp-block-acf-compte-auth, .wp-block-acf-lecture-contenu) {
  max-width: none;
}

/* Flow layout : pas de marge block-start implicite (core + theme.json). */
body:not(.wp-admin) :where(.is-layout-flow) > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Boutons Gutenberg — pas de contour primary sur fond secondary/primary. */
.wp-block-button__link {
  border: none;
  box-shadow: none;
}

.wp-block-button__link.has-secondary-theme-color-background-color,
.wp-block-button__link.has-primary-theme-color-background-color,
.wp-block-button__link.has-secondary-background-color,
.wp-block-button__link.has-primary-background-color {
  border: none;
}

.pca-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.75rem 1rem;
  border-radius: var(--pca-radius-md);
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.pca-button--primary {
  background: var(--pca-color-accent);
  color: #fff;
}

.pca-button--primary:hover,
.pca-button--primary:focus-visible {
  background: var(--pca-color-accent-hover);
  color: #fff;
}

.pca-button--ghost {
  background: transparent;
  color: var(--pca-color-accent);
  border-color: var(--pca-color-accent);
}

/* CTA d’achat / contact : flèche animée, prix en pastille, relief au survol. */
.pca-cta {
  gap: 0.6rem;
  min-height: 3rem;
  padding: 0.8rem 1.35rem;
  font-size: 1rem;
  letter-spacing: 0.01em;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pca-cta.pca-button--primary {
  box-shadow: 0 6px 18px rgba(6, 143, 255, 0.28);
}

.pca-cta:hover,
.pca-cta:focus-visible {
  transform: translateY(-1px);
}

.pca-cta.pca-button--primary:hover,
.pca-cta.pca-button--primary:focus-visible {
  box-shadow: 0 8px 22px rgba(20, 51, 64, 0.28);
}

.pca-cta:disabled {
  opacity: 0.7;
  transform: none;
  cursor: progress;
}

.pca-cta__arrow {
  flex: 0 0 auto;
  width: 1.05em;
  height: 1.05em;
  transition: transform 0.2s ease;
}

.pca-cta:hover .pca-cta__arrow,
.pca-cta:focus-visible .pca-cta__arrow {
  transform: translateX(3px);
}

.pca-cta__price {
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  font-size: 0.92em;
  white-space: nowrap;
}

.pca-cta-trust {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.75rem 0 0;
  font-size: 0.82rem;
  color: var(--pca-color-muted);
}

.pca-cta-trust svg {
  flex: 0 0 auto;
  width: 0.9rem;
  height: 0.9rem;
}

@media (prefers-reduced-motion: reduce) {
  .pca-cta,
  .pca-cta__arrow {
    transition: none;
  }

  .pca-cta:hover,
  .pca-cta:focus-visible,
  .pca-cta:hover .pca-cta__arrow,
  .pca-cta:focus-visible .pca-cta__arrow {
    transform: none;
  }
}

.pca-section-title {
  margin: 0 0 0.35rem;
  font-family: var(--pca-font-display);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  color: var(--pca-color-ink);
  letter-spacing: -0.02em;
}

.pca-section-lead {
  margin: 0;
  color: var(--pca-color-muted);
  font-size: 1.05rem;
  line-height: 1.5;
}
