/* /solutions/projets-temps dans le style de la home V29 « lumière » (2026-10-09). Se charge après neoo-home-v29.css et
   neoo-solutions-v29.css (sections partagées avec /solutions/crm-ventes) et n’ajoute que ce qui est propre à la page
   (préfixe v29p-) : cadrage de la photo, loupe à gauche, écran portrait, offre unique en carte large.
   Plan : docs/solutions-projets-temps/DESIGN.md. Généré par scripts/generate-neoo-solution-projects.mjs. */

/* Hero : la cheffe de projet et son collègue occupent la moitié droite de la photo. */
.v29p-hero > .v29-plate img { object-position: 70% 50%; }
.v29p-hero .v29s-hero__title { max-width: 12.6em; }
.v29p-hero .v29s-hero__copy { padding-top: clamp(120px, 17vh, 190px); padding-bottom: 104px; }

/* Loupe à gauche de l’écran (tableau de bord des projets : les indicateurs sont en haut à gauche). */
.v29s-screen--zoom-left .v29s-screen__zoom { right: auto; left: clamp(-28px, -2vw, -12px); }
.v29s-screen--hero.v29s-screen--zoom-left .v29s-screen__zoom { right: auto; left: clamp(-24px, -1.6vw, -10px); }

/* Écran portrait (création d’une tâche) : fenêtre étroite, centrée dans sa colonne. */
.v29s-screen--portrait { justify-self: center; width: min(100%, 460px); margin-inline: auto; }
.v29s-story:has(.v29s-screen--portrait) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
.v29s-story--flip:has(.v29s-screen--portrait) { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }

/* Offre unique : prix à gauche ; à droite, le texte des prix du catalogue et le lien vers l’offre. */
.v29p-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); margin-top: 56px; padding: 48px 52px; }
.v29p-offer__main { display: flex; flex-direction: column; align-items: flex-start; }
.v29p-offer__pack { display: flex; flex-direction: column; align-items: flex-start; padding-left: clamp(32px, 5vw, 80px); border-left: 1px solid var(--v29-line); }
.v29p-offer__pack .v29s-offer__text { margin: 14px 0 30px; padding-top: 0; border-top: 0; color: var(--v29-ink); font-size: clamp(17px, 1.25vw, 19px); }

@media (max-width: 860px) {
  .v29p-hero > .v29-plate img { object-position: 78% 40%; }
  .v29p-hero .v29s-hero__copy { padding-top: 112px; padding-bottom: 36px; }
  .v29s-screen--zoom-left .v29s-screen__zoom, .v29s-screen--hero.v29s-screen--zoom-left .v29s-screen__zoom { left: -6px; }
  .v29s-story:has(.v29s-screen--portrait), .v29s-story--flip:has(.v29s-screen--portrait) { grid-template-columns: 1fr; }
  .v29s-screen--portrait { width: min(100%, 380px); }
  .v29p-offer { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; padding: 30px 24px 28px; }
  .v29p-offer__pack { padding: 26px 0 0; border-left: 0; border-top: 1px solid var(--v29-line); }
}
