/* INVESTPROFACE — custom CSS layered on top of Tailwind */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

/* Brand gradient (PROFACE orange + ink) */
.ipf-gradient {
  background:
    radial-gradient(1100px 480px at 88% -12%, rgba(226,87,26,0.30), transparent 60%),
    radial-gradient(820px 460px at -5% 110%, rgba(226,87,26,0.16), transparent 60%),
    linear-gradient(135deg, #14110d 0%, #221813 55%, #3a2415 100%);
}

/* Scroll-reveal — snappy, single transition (no JS-library animation on top) */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .45s ease-out, transform .45s ease-out; will-change: opacity, transform; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

/* Partner logos — neutral until hover */
.partner-logo { filter: grayscale(100%); opacity: .6; transition: all .3s ease; max-height: 56px; }
.partner-logo:hover { filter: grayscale(0); opacity: 1; }

/* Marquee for partners strip */
@keyframes ipf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ipf-marquee { display: flex; width: max-content; animation: ipf-marquee 38s linear infinite; }
.ipf-marquee:hover { animation-play-state: paused; }

/* Keep WP admin bar from overlapping the sticky header */
.admin-bar #ipf-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar #ipf-header { top: 46px; } }

/* Primary navigation dropdown (single "Cadre juridique" menu) */
#ipf-primary-menu .menu-item-has-children { position: relative; }
#ipf-primary-menu .menu-item-has-children > a::after {
  content: ''; display: inline-block; width: .42em; height: .42em; margin-left: .45em;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px); opacity: .55; transition: transform .2s;
}
#ipf-primary-menu .menu-item-has-children:hover > a::after { transform: rotate(225deg) translateY(2px); }
#ipf-primary-menu .sub-menu {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 240px; list-style: none;
  background: #fff; border: 1px solid #e7e5e4; border-radius: 1rem;
  box-shadow: 0 16px 40px -14px rgba(20,17,13,.28); padding: .5rem; margin: 0;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .2s ease; z-index: 60;
}
#ipf-primary-menu .menu-item-has-children:hover > .sub-menu,
#ipf-primary-menu .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
#ipf-primary-menu .sub-menu::before { content: ''; position: absolute; bottom: 100%; left: 0; right: 0; height: 8px; }
#ipf-primary-menu .sub-menu li { display: block; }
#ipf-primary-menu .sub-menu a { display: block; padding: .55rem .85rem; border-radius: .6rem; font-size: .95rem; color: #2b2620; }
#ipf-primary-menu .sub-menu a:hover { background: #fdf3ee; color: #c8480f; }

/* Mobile: nested submenu shown indented */
#ipf-mobile-menu-list .sub-menu { list-style: none; padding: .15rem 0 .35rem .9rem; margin: 0; border-left: 2px solid #f6c3a6; }
#ipf-mobile-menu-list .sub-menu a { font-size: .92rem; color: #57534e; padding: .35rem 0; }

/* Tailwind Typography (prose) brand tweaks for content pages */
.prose :where(h2,h3,h4) { font-family: 'Plus Jakarta Sans','Inter',sans-serif; }
.prose :where(a):hover { color: #c8480f; }
.prose :where(blockquote) { border-left-color: #e2571a; background: #fdf3ee; padding: .75rem 1.25rem; border-radius: .25rem; font-style: normal; }
.prose :where(table) { font-size: .95em; }
.prose :where(thead) { background: #14110d; color: #fff; }
.prose :where(th, td) { padding: .75rem 1rem; }
