/**
 * Composants globaux : header, navigation, boutons, photographies, motif, footer.
 */

/* ---------- Boutons et liens ---------- */
.ey-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: var(--ey-radius-sm);
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.ey-button:hover { transform: translateY(-2px); }
.ey-button--primary { background: var(--ey-potential); color: var(--ey-white); box-shadow: 0 10px 24px rgba(81,45,168,.18); }
.ey-button--primary:hover { background: var(--ey-confidence); }
.ey-button--secondary { border-color: var(--ey-paper-100); background: var(--ey-white); color: var(--ey-confidence); }
.ey-button--secondary:hover { border-color: var(--ey-potential); }
.ey-button--light { background: var(--ey-white); color: var(--ey-confidence); }
.ey-text-link { display: inline-flex; gap: .55rem; align-items: center; color: var(--ey-confidence); font-size: .9rem; font-weight: 700; text-decoration: none; }
.ey-text-link span { transition: transform 180ms ease; }
.ey-text-link:hover span { transform: translateX(4px); }
.ey-text-link--light { color: var(--ey-white); }

/* ---------- Header ---------- */
.ey-site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(207,216,220,.7);
}
.ey-brand-rhythm { display: grid; grid-template-columns: 1.2fr .8fr 1.4fr .7fr .9fr; height: 4px; }
.ey-brand-rhythm span:nth-child(1) { background: var(--ey-elan); }
.ey-brand-rhythm span:nth-child(2) { background: var(--ey-potential); }
.ey-brand-rhythm span:nth-child(3) { background: var(--ey-curiosity); }
.ey-brand-rhythm span:nth-child(4) { background: var(--ey-declic); }
.ey-brand-rhythm span:nth-child(5) { background: var(--ey-potential); }
.ey-site-header__inner { display: grid; grid-template-columns: 150px 1fr auto; gap: 30px; align-items: center; min-height: 82px; }
.ey-logo img { width: 138px; height: auto; }
.ey-site-header__actions { display: flex; align-items: center; gap: 14px; }
.ey-header-contact { color: var(--ey-confidence); font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.ey-header-cta { min-height: 44px; padding-inline: 16px; font-size: .8rem; }
.ey-menu-toggle { display: none; align-items: center; gap: 9px; padding: 10px; border: 0; background: transparent; cursor: pointer; }
.ey-menu-toggle__label { font-size: .76rem; font-weight: 700; }
.ey-menu-toggle__icon { width: 20px; }
.ey-menu-toggle__icon i { display: block; height: 2px; margin: 4px 0; background: var(--ey-confidence); transition: transform 180ms ease; }

/* ---------- Navigation desktop ---------- */
.ey-nav__list { display: flex; justify-content: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ey-nav__item { position: relative; }
.ey-nav__trigger {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 0 9px;
  border: 0;
  background: transparent;
  color: var(--ey-confidence);
  font-size: .76rem;
  font-weight: 700;
  cursor: pointer;
}
.ey-nav__trigger:hover, .ey-nav__trigger[aria-expanded="true"] { color: var(--ey-potential); }
.ey-nav__chevron { font-size: .72rem; transition: transform 180ms ease; }
.ey-nav__trigger[aria-expanded="true"] .ey-nav__chevron { transform: rotate(180deg); }
.ey-nav__panel {
  position: absolute;
  top: calc(100% + 17px);
  left: 50%;
  width: min(520px, 80vw);
  padding-top: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
}
.ey-nav__item.is-open .ey-nav__panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.ey-nav__panel-inner { padding: 22px; border: 1px solid var(--ey-paper-100); border-top: 4px solid var(--ey-potential); border-radius: 0 0 var(--ey-radius-md) var(--ey-radius-md); background: var(--ey-white); box-shadow: var(--ey-shadow-soft); }
.ey-nav__panel-label { margin-bottom: 12px; color: var(--ey-paper-500); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ey-nav__panel-links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px 18px; }
.ey-nav__panel-links a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--ey-paper-50); color: var(--ey-confidence); font-size: .8rem; font-weight: 600; text-decoration: none; }
.ey-nav__panel-links a:hover { color: var(--ey-potential); }

/* ---------- Photos ---------- */
.ey-photo { position: relative; overflow: hidden; margin: 0; background: var(--ey-paper-50); }
.ey-photo img { width: 100%; height: 100%; object-fit: cover; }
.ey-photo--hero { min-height: 560px; border-radius: 0 0 var(--ey-radius-lg) var(--ey-radius-lg); box-shadow: var(--ey-shadow-soft); }
.ey-photo--portrait { height: 620px; border-radius: var(--ey-radius-md); }

/* ---------- Motif de marque ---------- */
.ey-motif { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 7px; width: 210px; }
.ey-motif i { display: block; height: 18px; flex: 0 0 18px; border-radius: 999px; }
.ey-motif__capsule { flex-basis: 54px !important; }
.ey-motif__dot--pink, .ey-motif__capsule--pink { background: var(--ey-elan); }
.ey-motif__dot--violet, .ey-motif__capsule--violet { background: var(--ey-potential); }
.ey-motif__dot--yellow, .ey-motif__capsule--yellow { background: var(--ey-declic); }
.ey-motif__dot--cyan, .ey-motif__capsule--cyan { background: var(--ey-curiosity); }
.ey-motif--footer { opacity: .9; width: 280px; }
.ey-motif--map { width: 260px; opacity: .28; }
.ey-motif--cta { width: 320px; opacity: .18; transform: rotate(-6deg); }

/* ---------- Breadcrumb ---------- */
.ey-breadcrumb { display: flex; gap: 8px; margin-bottom: 30px; color: var(--ey-paper-500); font-size: .74rem; }
.ey-breadcrumb a { color: var(--ey-confidence); text-decoration: none; }

/* ---------- Footer ---------- */
.ey-site-footer { position: relative; overflow: hidden; background: var(--ey-confidence-950); color: rgba(255,255,255,.72); }
.ey-site-footer__motif { position: absolute; right: 3vw; bottom: 28px; opacity: .45; }
.ey-site-footer__top { position: relative; z-index: 1; display: grid; grid-template-columns: 1.5fr .9fr .8fr .8fr; gap: 56px; padding-block: 72px 54px; }
.ey-site-footer__brand img { width: 220px; margin-bottom: 22px; }
.ey-site-footer__brand p { max-width: 420px; }
.ey-site-footer__contact, .ey-site-footer__links { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.ey-site-footer .ey-overline { color: var(--ey-curiosity); }
.ey-site-footer address { margin-bottom: 8px; font-style: normal; }
.ey-site-footer a { color: rgba(255,255,255,.86); text-decoration: none; }
.ey-site-footer a:hover { color: var(--ey-white); }
.ey-site-footer__bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 24px; padding-block: 20px 28px; border-top: 1px solid rgba(255,255,255,.14); font-size: .72rem; }
.ey-site-footer__bottom > div { display: flex; gap: 20px; }
