/* Kill WP default body/template spacing */
body { margin: 0; padding: 0; }
.wp-site-blocks { padding-top: 0 !important; }
.wp-site-blocks > .wp-block-template-part:first-child { margin-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

.wp-block-button__link { background: #5FB3F3; color: #fff; border-radius: 10px; font-weight: 600; padding: 13px 28px; transition: opacity .2s, transform .15s; }
.wp-block-button__link:hover { opacity: .9; transform: translateY(-1px); }
.card-gold { border-top: 3px solid #BCA615; border-radius: 10px; background: #fff; box-shadow: 0 4px 16px rgba(30,58,95,.08); transition: transform .25s, box-shadow .25s; }
.card-gold:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(30,58,95,.12); }
.card-blue { border-top: 3px solid #5FB3F3; border-radius: 10px; background: #fff; box-shadow: 0 4px 16px rgba(30,58,95,.08); transition: transform .25s, box-shadow .25s; }
.card-blue:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(30,58,95,.12); }

/* ═══ Scroll animations ═══ */
.fade-in-up { opacity: 0; transform: translateY(24px); transition: opacity .6s ease-out, transform .6s ease-out; }
.fade-in-up.visible { opacity: 1; transform: translateY(0); }
/* Hero always visible (no scroll needed) */
.section-dark .fade-in-up { opacity: 1; transform: translateY(0); animation: heroFadeIn .7s ease-out; }
@keyframes heroFadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Image depth */
.wp-block-image img, figure.wp-block-image img { transition: transform .3s ease; }
.wp-block-image:hover img, figure.wp-block-image:hover img { transform: scale(1.01); }
.section-dark { background: #1E3A5F; color: #fff; }
.section-light { background: #F8FAFC; }

/* Hero image with gradient overlay — desktop: absolute fill, mobile: proportional */
.hero-img-wrap { position: relative; overflow: hidden; min-height: 640px; }
.hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; position: absolute; inset: 0; }
.hero-img-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, #1E3A5F 0%, rgba(30,58,95,0) 35%); pointer-events: none; z-index: 1; }

/* Mobile/tablet: image stays visible, proportional height, gradient becomes top-to-bottom */
@media (max-width: 781px) {
  .hero-img-wrap { min-height: 0 !important; aspect-ratio: 16 / 10; }
  .hero-img-wrap img { object-position: center center; }
  .hero-img-wrap::after { background: linear-gradient(to bottom, #1E3A5F 0%, rgba(30,58,95,0) 30%); }

  /* KPI chiffres (DM Serif trop gros en mobile) */
  [style*="font-family:var(--wp--preset--font-family--dm-serif)"] { font-size: 32px !important; }

  /* Masquer "Se connecter" en mobile (SaaS desktop only) */
  .wp-block-navigation-item.wp-block-button__link,
  .wp-block-navigation-item a.wp-block-button__link { display: none !important; }

  /* Menu mobile : différencier titres parents (Offre, A propos) des sous-items */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content { font-weight: 700 !important; font-size: 18px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: rgba(255,255,255,.4) !important; pointer-events: none; padding: 12px 0 4px !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-weight: 400 !important; font-size: 16px !important; text-transform: none !important; letter-spacing: 0 !important; color: #fff !important; pointer-events: auto; }

  /* Header: smaller logo on mobile */
  .wp-block-group img[alt="Timone"][style*="height:96px"] { height: 48px !important; }

  /* Footer: stack vertically on mobile */
  footer > div { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  footer > div > div { gap: 12px !important; }

  /* Typography: reduce clamp minimums */
  h1.wp-block-heading { font-size: clamp(28px, 7vw, 54px) !important; }
  h2.wp-block-heading { font-size: clamp(24px, 6vw, 40px) !important; }

  /* Grids in wp:html blocks: force single column */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="display:grid"][style*="gap:80px"] { gap: 40px !important; }
  [style*="display:grid"][style*="gap:48px"] { gap: 32px !important; }

  /* Images: never overflow on mobile */
  img { max-width: 100% !important; height: auto !important; }
  .wp-block-image img { max-width: 100% !important; height: auto !important; }
  figure.wp-block-image { margin: 0 !important; }
  /* Screenshots in wp:html blocks */
  [style*="box-shadow"] img { max-width: 100% !important; height: auto !important; }

  /* CTA buttons: full width on mobile */
  .wp-block-button__link { width: 100%; text-align: center; }

  /* Horizontal flex sections: wrap and reduce gaps */
  [style*="display:flex"][style*="gap:80px"] { gap: 32px !important; }
  [style*="display:flex"][style*="gap:32px"] { gap: 16px !important; flex-wrap: wrap !important; }
}

/* Tablet: slightly taller ratio */
@media (min-width: 782px) and (max-width: 960px) {
  .hero-img-wrap { min-height: 400px; }

  /* Header: medium logo on tablet */
  .wp-block-group img[alt="Timone"][style*="height:96px"] { height: 64px !important; }
}

/* Mobile nav hamburger — visible on dark background */
.wp-block-navigation__responsive-container-open { color: #fff !important; }
.wp-block-navigation__responsive-container-open svg { fill: #fff !important; stroke: #fff !important; }
.wp-block-navigation__responsive-container-close { color: #fff !important; }
.wp-block-navigation__responsive-container-close svg { fill: #fff !important; stroke: #fff !important; }
.wp-block-navigation__responsive-container.is-menu-open { background-color: #1E3A5F !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { color: #fff !important; font-size: 16px !important; padding: 4px 16px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 0 !important; padding: 24px 16px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-item { margin: 0 !important; padding: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { padding: 6px 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { gap: 0 !important; padding: 0 0 0 16px !important; margin: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu { margin: 0 !important; }

/* Nav header */
.wp-block-navigation a:not(.wp-block-button__link) { color: rgba(255,255,255,.55) !important; text-decoration: none; transition: color .2s; }
.wp-block-navigation a:not(.wp-block-button__link):hover { color: #fff !important; }
.wp-block-navigation .wp-block-button__link { background: #5FB3F3; color: #fff !important; padding: 10px 24px; border-radius: 10px; font-size: 15px; font-weight: 600; }
.wp-block-navigation .wp-block-button__link:hover { opacity: .9; }
/* Dropdown submenu — wide enough, text aligned right */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container { min-width: 320px; white-space: nowrap; align-items: flex-end !important; }
.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { justify-content: flex-end !important; text-align: right !important; }

/* INTERDIT les bandes blanches entre sections */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
main.wp-block-group > * + * { margin-block-start: 0 !important; }

/* Kill any gap between last content and footer */
.wp-block-group > main.wp-block-group { margin-bottom: 0 !important; }
main.wp-block-group > *:last-child { margin-bottom: 0 !important; }
.wp-site-blocks > *:last-child { margin-bottom: 0 !important; }
