// Category archive pages .category-archive { margin-top: 0; .category-header-top { display: flex; justify-content: space-between; flex-direction: column; align-items: start; .breadcrumb { font-size: 0.85rem; margin-bottom: 1.5rem; text-transform: uppercase; line-height: 1.3; &__separator { margin: 0 0.4rem; } } @media ($tablet) { flex-direction: row; } } h1 { font-family: Gelasio; font-weight: normal; font-size: 1.8rem; position: relative; margin-top: 2rem; display: inline-block; &::after { content: ''; display: block; position: absolute; height: 6px; width: 100%; bottom: -1.2rem; left: 0; z-index: 2; } @media ($tablet) { font-size: 2.6rem; &::after { bottom: -0.4rem; } } } .category--le-laboratoire h1::after { background: linear-gradient(to bottom, transparent 0%, $laboratoire 50%); } .category--manifestations-scientifiques h1::after { background: linear-gradient(to bottom, transparent 0%, $manifestations 50%); } .category--publications-et-productions h1::after { background: linear-gradient(to bottom, transparent 0%, $publications 50%); } .category--mediation-scientifique h1::after { background: linear-gradient(to bottom, transparent 0%, $mediations 50%); } .category--ressources h1::after { background: linear-gradient(to bottom, transparent 0%, $ressources 50%); } } // Breadcrumb: non-category links (Accueil, etc.) underlined in muted gray .breadcrumb a:not(.breadcrumb__cat) { text-decoration: underline; text-decoration-color: $less-light-gray; text-underline-offset: 3px; } // Breadcrumb category color underlines — links and current page indicator .category--le-laboratoire .breadcrumb__cat, .category--le-laboratoire .breadcrumb__current { text-decoration: underline; text-decoration-color: $laboratoire; text-underline-offset: 3px; } .category--manifestations-scientifiques .breadcrumb__cat, .category--manifestations-scientifiques .breadcrumb__current { text-decoration: underline; text-decoration-color: $manifestations; text-underline-offset: 3px; } .category--publications-et-productions .breadcrumb__cat, .category--publications-et-productions .breadcrumb__current { text-decoration: underline; text-decoration-color: $publications; text-underline-offset: 3px; } .category--mediation-scientifique .breadcrumb__cat, .category--mediation-scientifique .breadcrumb__current { text-decoration: underline; text-decoration-color: $mediations; text-underline-offset: 3px; } .category--ressources .breadcrumb__cat, .category--ressources .breadcrumb__current { text-decoration: underline; text-decoration-color: $ressources; text-underline-offset: 3px; } .category-archive { .taxonomy-description { font-family: $font-primary; margin-top: 2rem; line-height: 1.6; max-width: 70ch; a { text-decoration: underline; } p { margin-bottom: 1rem; line-height: 1.6; strong { font-weight: bold; } em { font-style: italic; } &:first-child { margin-top: 0 !important; } } ul, ol { line-height: 1.6; padding-left: 0.8rem; } ul { list-style: inside "· "; } ol { list-style: inside decimal; } blockquote{ padding-left: 1rem; margin-left: 1.5rem; border-left: solid 1px $light-gray; } } .subcategory-section { margin-top: 5rem; &:first-of-type { margin-top: 2rem; } .subcategory-section__title { font-family: NewsCycle; text-transform: uppercase; position: relative; display: inline-block; margin-bottom: 2rem; font-size: 1.2rem; &::after { @include yellow-gradient-after(10px); bottom: -10px; } } .post-grid { display: grid; align-items: start; grid-template-columns: 1fr; gap: 2rem; width: 100%; .post-card { min-width: 0; } @media ($tablet) { grid-template-columns: repeat(2, 1fr); } @media ($desktop) { grid-template-columns: repeat(3, 1fr); } } .category-section-footer { margin-top: 3rem; display: flex; justify-content: center; } } } /* .category-header { width: 100%; margin-bottom: 3vh; &__back { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.9rem; text-decoration: none; margin-bottom: 1rem; i { font-size: 1.1rem; } } &__title { font-size: 2rem; margin-bottom: 0.5rem; @media ($tablet) { font-size: 2.5rem; } } &__description { color: $less-dark-gray; } } // Sub-category sections on parent category page .subcategory-section { width: 100%; margin-bottom: 4vh; &__header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 2vh; border-bottom: 2px solid $publications; padding-bottom: 0.5rem; } &__title { font-size: 1.5rem; a { text-decoration: none; } } &__see-all { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.9rem; text-decoration: none; white-space: nowrap; } &__empty { color: $less-less-light-gray; font-style: italic; } } // Post grid .post-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; width: 100%; @media ($tablet) { grid-template-columns: repeat(2, 1fr); } @media ($desktop) { grid-template-columns: repeat(3, 1fr); } } // Post card .post-card { background-color: white; display: flex; flex-direction: column; overflow: hidden; &__image { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; img { width: 100%; height: 100%; object-fit: cover; } } &__content { padding: 1rem; display: flex; flex-direction: column; gap: 0.4rem; } &__title { font-size: 1.1rem; line-height: 1.3; a { text-decoration: none; } } &__subtitle { font-size: 0.9rem; color: $less-dark-gray; font-style: italic; } &__date { font-size: 0.8rem; color: $less-less-light-gray; } &__authors { font-size: 0.9rem; display: flex; flex-wrap: wrap; gap: 0.2rem; .post-card__author { &:not(:last-child)::after { content: ','; } } &--external { color: $less-dark-gray; } } &__role, &__publisher, &__journal { font-size: 0.85rem; color: $less-dark-gray; } &__axes, &__tags { display: flex; flex-wrap: wrap; gap: 0.3rem; } &__axe, &__tag { font-size: 0.75rem; background-color: $light-gray; padding: 0.15rem 0.5rem; } &__axe { border-left: 2px solid $publications; } &__links { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.3rem; } &__link { font-size: 0.8rem; &--hal { color: $publications; } } } // Infinite scroll spinner .scroll-spinner { display: flex; justify-content: center; align-items: center; gap: 0.4rem; padding: 2rem 0; &__dot { width: 8px; height: 8px; border-radius: 50%; background-color: $publications; animation: scroll-spinner-bounce 1.2s infinite ease-in-out; &:nth-child(2) { animation-delay: 0.2s; } &:nth-child(3) { animation-delay: 0.4s; } } } @keyframes scroll-spinner-bounce { 0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; } 40% { transform: scale(1); opacity: 1; } } */ // ── Agenda slider view ──────────────────────────────────────────────────────── .agenda-view-container { display: none; margin-top: 3rem; &.is-active { display: block; } } .agenda-view-title { font-family: NewsCycle; text-transform: uppercase; position: relative; display: inline-block; margin-bottom: 2rem; font-size: 1.2rem; &::after { @include yellow-gradient-after(10px); bottom: -10px; } } .agenda-swiper-wrap { display: flex; align-items: center; gap: 0.8rem; margin-top: 2rem; } .agenda-swiper { flex: 1; overflow: hidden; } .agenda-swiper-prev, .agenda-swiper-next { flex-shrink: 0; background: none; border: none; cursor: pointer; font-size: 1.2rem; padding: 0.4rem; color: $dark-gray; line-height: 1; &:hover { color: black; } &.swiper-button-disabled { opacity: 0.25; pointer-events: none; } } .agenda-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; padding-bottom: 1.5rem; border-bottom: 1px solid $light-gray; height: 100%; position: relative; transition: transform 0.2s ease-out; margin-right: 0 !important; // Timeline line running through the center of the date boxes &::before { content: ''; position: absolute; top: 1.7rem; left: 0; right: 0; height: 1px; background-color: $less-light-gray; z-index: 0; width: calc(100% + 20px); @media ($tablet) { width: calc(100% + 24px); } @media ($desktop) { width: calc(100% + 32px); } } &:hover { transform: scale(0.98); } &__dates { display: flex; align-items: flex-start; gap: 0.5rem; margin-bottom: 1rem; } &__body { flex: 1; } &__meta { display: flex; flex-wrap: wrap; gap: 0.3rem 0.8rem; font-family: $font-primary; font-size: 0.75rem; text-transform: uppercase; opacity: 0.65; margin-bottom: 0.5rem; } &__title { font-family: $font-heading; font-size: 1rem; line-height: 1.35; } } // Category-specific accent color on agenda card border + date box gradient .category--manifestations-scientifiques .agenda-card { border-bottom-color: $manifestations; } .category--le-laboratoire .agenda-card { border-bottom-color: $laboratoire; } .category--publications-et-productions .agenda-card { border-bottom-color: $publications; } .category--mediation-scientifique .agenda-card { border-bottom-color: $mediations; } .category--ressources .agenda-card { border-bottom-color: $ressources; } .category--manifestations-scientifiques .agenda-date-box { @include category-gradient($manifestations); } .category--le-laboratoire .agenda-date-box { @include category-gradient($laboratoire); } .category--publications-et-productions .agenda-date-box { @include category-gradient($publications); } .category--mediation-scientifique .agenda-date-box { @include category-gradient($mediations); } .category--ressources .agenda-date-box { @include category-gradient($ressources); } .agenda-date-box { position: relative; z-index: 1; background-color: $light-gray; font-family: $font-primary; text-transform: uppercase; text-align: center; padding: 0.4rem 0.55rem; flex-shrink: 0; min-width: 2.6rem; .agenda-date-day { display: block; font-size: 1.3rem; line-height: 1; } .agenda-date-month { display: block; font-size: 0.65rem; margin-top: 2px; } .agenda-date-year { display: block; font-size: 0.6rem; opacity: 0.65; } sup { font-size: 0.7rem; } } .agenda-date-arrow { font-size: 0.85rem; opacity: 0.5; }