From dae97ab8124e4383063151b7ba9fa74a87313ed0 Mon Sep 17 00:00:00 2001 From: Pontoporeia Date: Fri, 10 Jul 2026 12:27:17 +0200 Subject: [PATCH] fix: repertoire heading font sizes --- app/public/assets/css/components/header.css | 264 ++--- app/public/assets/css/repertoire.css | 1166 ++++++++++--------- 2 files changed, 713 insertions(+), 717 deletions(-) diff --git a/app/public/assets/css/components/header.css b/app/public/assets/css/components/header.css index 18207a2..29b6eeb 100644 --- a/app/public/assets/css/components/header.css +++ b/app/public/assets/css/components/header.css @@ -6,81 +6,82 @@ /* ── Header bar ─────────────────────────────────────────────────────── */ header { - vertical-align: center; - flex-shrink: 0; - background: linear-gradient( - 0deg, - rgba(192, 93, 225, 1) 0%, - rgba(51, 191, 135, 1) 66%, - rgba(60, 133, 108, 1) 100% - ); + vertical-align: center; + flex-shrink: 0; + background: linear-gradient( + 0deg, + rgba(192, 93, 225, 1) 0%, + rgba(51, 191, 135, 1) 66%, + rgba(60, 133, 108, 1) 100% + ); } /* ── Navigation ────────────────────────────────────────────────────── */ header nav { - padding: var(--space-s) var(--space-s); - display: flex; - align-items: center; - justify-content: space-between; - font-size: var(--step-0); + padding: var(--space-s) var(--space-s); + display: flex; + align-items: center; + justify-content: space-between; + font-size: var(--step-0); } header nav ul { - display: flex; - gap: var(--space-l); - align-items: center; - list-style: none; - margin: 0; - padding: 0; + display: flex; + gap: var(--space-l); + align-items: center; + list-style: none; + margin: 0; + padding: 0; } header nav ul a { - font-family: var(--font-display); - letter-spacing: 0.12em; - text-transform: uppercase; - color: var(--accent-foreground); - text-decoration: none; - padding: var(--space-3xs) var(--space-xs); - text-shadow: - 0 0 16px var(--header-shadow-strong), - 0 0 32px var(--header-shadow-soft); - transition: opacity 0.15s; + font-family: var(--font-display); + font-size: var(--step-0) + letter-spacing: 0.12em; + text-transform: uppercase; + color: var(--accent-foreground); + text-decoration: none; + padding: var(--space-3xs) var(--space-xs); + text-shadow: + 0 0 16px var(--header-shadow-strong), + 0 0 32px var(--header-shadow-soft); + transition: opacity 0.15s; } header nav ul a:hover { - color: var(--accent-primary); + color: var(--accent-primary); } header nav ul a[aria-current="page"] { - color: var(--accent-primary); - border-radius: 0; - border-bottom: 2px solid currentColor; - padding-bottom: 1px; + color: var(--accent-primary); + border-radius: 0; + border-bottom: 2px solid currentColor; + padding-bottom: 1px; } /* ── Logo ───────────────────────────────────────────────────────────── */ .nav-logo { - text-decoration: none; + text-decoration: none; } .nav-left-links, .nav-right-links { - display: flex; - gap: var(--space-l); - align-items: center; - list-style: none; - margin: 0; - padding: 0; + display: flex; + gap: var(--space-l); + align-items: center; + list-style: none; + margin: 0; + padding: 0; } .nav-top-row { - display: contents; + display: contents; } .nav-mobile-links { - display: none; + display: none; } /* ── Hamburger menu (pure CSS, checkbox trick) ──────────────────────── */ @@ -94,132 +95,119 @@ header nav ul a[aria-current="page"] { ul.nav-mobile-links ← full dropdown (hidden by default) */ .menu-btn { - position: absolute; - top: -9999px; - left: -9999px; + position: absolute; + top: -9999px; + left: -9999px; } .menu-icon { - display: none; - cursor: pointer; - padding: var(--space-2xs) var(--space-s); - align-items: center; - justify-content: center; + display: none; + cursor: pointer; + padding: var(--space-2xs) var(--space-s); + align-items: center; + justify-content: center; } /* Middle bar of the burger icon */ .navicon { - background: var(--accent-foreground); - display: block; - height: 2px; - width: 24px; - position: relative; - transition: all 0.3s ease-out; + background: var(--accent-foreground); + display: block; + height: 2px; + width: 24px; + position: relative; + transition: all 0.3s ease-out; } .navicon::before, .navicon::after { - content: ""; - background: var(--accent-foreground); - display: block; - height: 2px; - width: 100%; - position: absolute; - transition: all 0.3s ease-out; + content: ""; + background: var(--accent-foreground); + display: block; + height: 2px; + width: 100%; + position: absolute; + transition: all 0.3s ease-out; } .navicon::before { - top: -7px; + top: -7px; } .navicon::after { - bottom: -7px; + bottom: -7px; } /* ── Mobile (≤ 640px) ───────────────────────────────────────────────── */ @media screen and (max-width: 640px) { - header nav[aria-label="Navigation principale"] { - display: flex; - flex-direction: column; - align-items: stretch; - padding: 0; - } + header nav[aria-label="Navigation principale"] { + display: flex; + flex-direction: column; + align-items: stretch; + padding: 0; + } - header nav[aria-label="Navigation principale"] .nav-top-row { - display: flex; - align-items: center; - justify-content: space-between; - padding: var(--space-s); - } + header nav[aria-label="Navigation principale"] .nav-top-row { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--space-s); + } - header nav[aria-label="Navigation principale"] .nav-right-links { - display: none; - } + header nav[aria-label="Navigation principale"] .nav-right-links { + display: none; + } - header nav[aria-label="Navigation principale"] .nav-left-links { - display: flex; - gap: 0; - } + header nav[aria-label="Navigation principale"] .nav-left-links { + display: flex; + gap: 0; + } - header - nav[aria-label="Navigation principale"] - .nav-left-links - li:not(:first-child) { - display: none; - } + header nav[aria-label="Navigation principale"] .nav-left-links li:not(:first-child) { + display: none; + } - .menu-icon { - display: flex; - } + .menu-icon { + display: flex; + } - header nav[aria-label="Navigation principale"] .nav-mobile-links { - display: block; - list-style: none; - margin: 0; - padding: 0; - max-height: 0; - overflow: hidden; - transition: max-height 0.2s ease-out; - } + header nav[aria-label="Navigation principale"] .nav-mobile-links { + display: block; + list-style: none; + margin: 0; + padding: 0; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + } - .menu-btn:checked - ~ nav[aria-label="Navigation principale"] - .nav-mobile-links { - max-height: 300px; - } + .menu-btn:checked ~ nav[aria-label="Navigation principale"] .nav-mobile-links { + max-height: 300px; + } - header nav[aria-label="Navigation principale"] .nav-mobile-links li { - border-top: 1px solid var(--header-nav-active-border); - text-align: left; - } + header nav[aria-label="Navigation principale"] .nav-mobile-links li { + border-top: 1px solid var(--header-nav-active-border); + text-align: left; + } - header nav[aria-label="Navigation principale"] .nav-mobile-links li a { - display: block; - width: 100%; - padding: var(--space-s) var(--space-s); - text-align: left; - } + header nav[aria-label="Navigation principale"] .nav-mobile-links li a { + display: block; + width: 100%; + padding: var(--space-s) var(--space-s); + text-align: left; + } - /* Animate burger → X */ - .menu-btn:checked ~ nav[aria-label="Navigation principale"] - .menu-icon - .navicon { - background: transparent; - } + /* Animate burger → X */ + .menu-btn:checked ~ nav[aria-label="Navigation principale"] .menu-icon .navicon { + background: transparent; + } - .menu-btn:checked - ~ nav[aria-label="Navigation principale"] - .menu-icon - .navicon::before { - transform: rotate(-45deg); - top: 0; - } + .menu-btn:checked ~ nav[aria-label="Navigation principale"] .menu-icon .navicon::before { + transform: rotate(-45deg); + top: 0; + } - .menu-btn:checked - ~ nav[aria-label="Navigation principale"] - .menu-icon - .navicon::after { - transform: rotate(45deg); - bottom: 0; - } + .menu-btn:checked ~ nav[aria-label="Navigation principale"] .menu-icon .navicon::after { + transform: rotate(45deg); + bottom: 0; + } } diff --git a/app/public/assets/css/repertoire.css b/app/public/assets/css/repertoire.css index f02fb08..82a6e48 100644 --- a/app/public/assets/css/repertoire.css +++ b/app/public/assets/css/repertoire.css @@ -4,852 +4,860 @@ ============================================================ */ .search-main { - flex: 1; - min-height: 0; - overflow: hidden; - padding: 0; - display: flex; - flex-direction: column; + flex: 1; + min-height: 0; + overflow: hidden; + padding: 0; + display: flex; + flex-direction: column; } /* ── Scrollable results area with sticky pagination ──────────────── */ #search-results { - flex: 1; - min-height: 0; - overflow-y: auto; - display: flex; - flex-direction: column; + flex: 1; + min-height: 0; + overflow-y: auto; + display: flex; + flex-direction: column; } .search-results-header { - flex-shrink: 0; + flex-shrink: 0; } .search-results-range--compact { - display: none; + display: none; } .search-empty { - flex: 1; - display: flex; - align-items: center; - justify-content: center; - padding: var(--space-xl) var(--space-m); - color: var(--text-secondary); - font-size: var(--step-0); - text-align: center; + flex: 1; + display: flex; + align-items: center; + justify-content: center; + padding: var(--space-xl) var(--space-m); + color: var(--text-secondary); + font-size: var(--step-0); + text-align: center; } /* ---- 6-column index layout ---- */ /* Equal-width columns except Années (years) = narrower */ .repertoire-index { - display: grid; - grid-template-columns: - minmax(3rem, 0.45fr) - minmax(16rem, 1.2fr) - minmax(9rem, 1fr) - minmax(7rem, 1fr) - minmax(8rem, 1fr) - minmax(3rem, 0.45fr); - grid-template-rows: auto minmax(0, 1fr); - gap: var(--space-s); - justify-content: space-between; - padding: 0; - margin: 0 var(--space-s); - height: 100%; + display: grid; + grid-template-columns: + minmax(3rem, 0.45fr) + minmax(16rem, 1.2fr) + minmax(9rem, 1fr) + minmax(7rem, 1fr) + minmax(8rem, 1fr) + minmax(3rem, 0.45fr); + grid-template-rows: auto minmax(0, 1fr); + gap: var(--space-s); + justify-content: space-between; + padding: 0; + margin: 0 var(--space-s); + height: 100%; } /* ---- Accordion: visible only on mobile (≤ 640px) ---- */ /* Desktop: heading-text visible, toggle hidden */ .rep-accordion__heading-text { - /* visible — inherits the h2 styling above */ + /* visible — inherits the h2 styling above */ } .rep-accordion__toggle, .rep-accordion__chevron, .rep-accordion__badge { - display: none; + display: none; } .rep-accordion__panel { - display: contents; + display: contents; } /* Each section becomes transparent to the grid so h2+ul sit in the 2-row layout */ .repertoire-col { - display: contents; + display: contents; } .repertoire-col > h2 { - grid-row: 1; - font-family: var(--font-display); - font-size: var(--step--1); - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--text-primary); - font-weight: 398; - line-height: 1.3; - margin: 0; - padding: var(--space-xs) 0 var(--space-3xs) 0; - border-bottom: 1px solid var(--text-primary); - align-self: end; - hyphens: auto; - word-break: normal; - overflow-wrap: break-word; + grid-row: 1; + font-family: var(--font-display); + font-size: var(--step--1); + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--text-primary); + font-weight: 398; + line-height: 1.3; + margin: 0; + padding: var(--space-xs) 0 var(--space-3xs) 0; + border-bottom: 1px solid var(--text-primary); + align-self: end; + hyphens: auto; + word-break: normal; + overflow-wrap: break-word; } .repertoire-col .rep-accordion__panel > ul { - grid-row: 2; - overflow-y: auto; - overflow-x: hidden; - min-height: 0; - padding-top: var(--space-2xs); - padding-bottom: var(--space-l); - padding-left: 0; - padding-right: 0; + grid-row: 2; + overflow-y: auto; + overflow-x: hidden; + min-height: 0; + padding-top: var(--space-2xs); + padding-bottom: var(--space-l); + padding-left: 0; + padding-right: 0; } /* Strip list chrome inside repertoire columns */ .repertoire-col ul { - list-style: none; - margin: 0; - padding: 0; + list-style: none; + margin: 0; + padding: 0; +} + +.repertoire-col a, +.repertoire-col button { + line-height: 22px; +} +.repertoire-col[data-col="kw"] button { + font-size: calc(var(--step--1)*1.15); } /* ---- Responsive (≤ 1025px): accordion mode, students as results ---- */ @media (max-width: 1025px) { - .repertoire-index { - display: flex; - flex-direction: column; - min-height: 0; - height: 100%; - overflow-y: hidden; - gap: 0; - margin: 0; - } + .repertoire-index { + display: flex; + flex-direction: column; + min-height: 0; + height: 100%; + overflow-y: hidden; + gap: 0; + margin: 0; + } - /* Each column becomes a block-level accordion section */ - .repertoire-col { - display: block; - border-bottom: 1px solid var(--text-primary); - } + /* Each column becomes a block-level accordion section */ + .repertoire-col { + display: block; + border-bottom: 1px solid var(--text-primary); + } - .repertoire-col[data-col="students"] { - border-bottom: none; - } + .repertoire-col[data-col="students"] { + border-bottom: none; + } - /* Flex order: years/ap/or/fi first, then keywords, students last */ - .repertoire-col[data-col="years"] { - order: 0; - } - .repertoire-col[data-col="ap"] { - order: 1; - } - .repertoire-col[data-col="or"] { - order: 2; - } - .repertoire-col[data-col="fi"] { - order: 3; - } - .repertoire-col[data-col="kw"] { - order: 4; - } - .repertoire-col[data-col="students"] { - order: 5; - } + /* Flex order: years/ap/or/fi first, then keywords, students last */ + .repertoire-col[data-col="years"] { + order: 0; + } + .repertoire-col[data-col="ap"] { + order: 1; + } + .repertoire-col[data-col="or"] { + order: 2; + } + .repertoire-col[data-col="fi"] { + order: 3; + } + .repertoire-col[data-col="kw"] { + order: 4; + } + .repertoire-col[data-col="students"] { + order: 5; + } - /* Students column: not an accordion — open results list below filters */ - .repertoire-col[data-col="students"] { - border-bottom: none; - border-top: none; - margin-top: 0; - padding-top: 0; - flex: 1; - min-height: 0; - display: flex; - flex-direction: column; - } + /* Students column: not an accordion — open results list below filters */ + .repertoire-col[data-col="students"] { + border-bottom: none; + border-top: none; + margin-top: 0; + padding-top: 0; + flex: 1; + min-height: 0; + display: flex; + flex-direction: column; + } - .repertoire-col[data-col="students"] .rep-accordion__toggle { - display: none; - } + .repertoire-col[data-col="students"] .rep-accordion__toggle { + display: none; + } - .repertoire-col[data-col="students"] .rep-accordion__heading-text { - display: none; - } + .repertoire-col[data-col="students"] .rep-accordion__heading-text { + display: none; + } - .repertoire-col[data-col="students"] .rep-accordion__panel { - display: block; - max-height: none; - overflow-y: auto; - flex: 1; - } + .repertoire-col[data-col="students"] .rep-accordion__panel { + display: block; + max-height: none; + overflow-y: auto; + flex: 1; + } - /* Hide the plain h2 — the toggle button replaces it */ - .repertoire-col > h2 { - display: block; - grid-row: unset; - align-self: unset; - border-bottom: none; - padding: 0; - margin: 0; - font-size: inherit; - line-height: inherit; - } + /* Hide the plain h2 — the toggle button replaces it */ + .repertoire-col > h2 { + display: block; + grid-row: unset; + align-self: unset; + border-bottom: none; + padding: 0; + margin: 0; + font-size: inherit; + line-height: inherit; + } - /* Hide heading text on mobile (toggle button replaces it) */ - .rep-accordion__heading-text { - display: none; - } + /* Hide heading text on mobile (toggle button replaces it) */ + .rep-accordion__heading-text { + display: none; + } - /* Accordion toggle: full-width touch target */ - .rep-accordion__toggle { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - min-height: 48px; - padding: var(--space-xs) var(--space-s); - background: none; - border: none; - font-family: var(--font-display); - font-size: var(--step--2); - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--text-primary); - font-weight: 398; - text-align: left; - cursor: pointer; - } + /* Accordion toggle: full-width touch target */ + .rep-accordion__toggle { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + min-height: 48px; + padding: var(--space-xs) var(--space-s); + background: none; + border: none; + font-family: var(--font-display); + font-size: var(--step--2); + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--text-primary); + font-weight: 398; + text-align: left; + cursor: pointer; + } - .rep-accordion__toggle:active { - background: var(--bg-secondary); - } + .rep-accordion__toggle:active { + background: var(--bg-secondary); + } - /* Badge: active filter count */ - .rep-accordion__badge { - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 1.4em; - height: 1.4em; - padding: 0 0.35em; - margin-left: var(--space-2xs); - background: var(--accent-primary); - color: var(--accent-foreground); - border-radius: 99px; - font-family: var(--font-body); - font-size: var(--step--2); - font-weight: 500; - letter-spacing: 0; - text-transform: none; - } + /* Badge: active filter count */ + .rep-accordion__badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 1.4em; + height: 1.4em; + padding: 0 0.35em; + margin-left: var(--space-2xs); + background: var(--accent-primary); + color: var(--accent-foreground); + border-radius: 99px; + font-family: var(--font-body); + font-size: var(--step--2); + font-weight: 500; + letter-spacing: 0; + text-transform: none; + } - /* Chevron: CSS triangle */ - .rep-accordion__chevron { - display: inline-block; - width: 10px; - height: 10px; - flex-shrink: 0; - margin-left: var(--space-2xs); - border-right: 2px solid var(--text-secondary); - border-bottom: 2px solid var(--text-secondary); - transform: rotate(45deg); - transition: transform 0.2s; - } + /* Chevron: CSS triangle */ + .rep-accordion__chevron { + display: inline-block; + width: 10px; + height: 10px; + flex-shrink: 0; + margin-left: var(--space-2xs); + border-right: 2px solid var(--text-secondary); + border-bottom: 2px solid var(--text-secondary); + transform: rotate(45deg); + transition: transform 0.2s; + } - .rep-accordion__toggle[aria-expanded="true"] .rep-accordion__chevron { - transform: rotate(-135deg); - } + .rep-accordion__toggle[aria-expanded="true"] .rep-accordion__chevron { + transform: rotate(-135deg); + } - /* Panel: collapsed by default */ - .rep-accordion__panel { - display: block; - max-height: 0; - overflow: hidden; - transition: max-height 0.3s ease; - } + /* Panel: collapsed by default */ + .rep-accordion__panel { + display: block; + max-height: 0; + overflow: hidden; + transition: max-height 0.3s ease; + } - .rep-accordion__panel.is-open { - max-height: 60vh; - overflow-y: auto; - } + .rep-accordion__panel.is-open { + max-height: 60vh; + overflow-y: auto; + } - /* Reposition the