|
9 | 9 | * .dialog-modal.content-modal — full-screen overlay (hidden by default) |
10 | 10 | * .dialog-modal__backdrop — close link covering the overlay |
11 | 11 | * .content-modal__container — centered card (role="dialog") |
12 | | - * .content-modal__header — top row: prev/next + title + close |
13 | | - * .content-modal__header-main — left cluster (carousel buttons + title) |
| 12 | + * .content-modal__header — top row: close + title + prev/next |
| 13 | + * (title wraps to its own row on mobile) |
14 | 14 | * .content-modal__title — heading text |
15 | 15 | * .content-modal__close — close (×) link, top-right of card |
16 | 16 | * .content-modal__subtitle — byline / secondary text row |
|
38 | 38 | } |
39 | 39 |
|
40 | 40 | /* ============================================ |
41 | | - HEADER (prev/next + title on the left, close on the right) |
| 41 | + HEADER (close on the left, title in the middle, prev/next on the right) |
42 | 42 | ============================================ */ |
43 | 43 | .content-modal__header { |
44 | 44 | flex: 0 0 auto; |
45 | 45 | display: flex; |
46 | 46 | align-items: center; |
47 | | - justify-content: space-between; |
48 | | - gap: var(--space-large); |
49 | 47 | padding: 0 var(--space-large); |
50 | 48 | } |
51 | 49 |
|
52 | | -.content-modal__header-main { |
53 | | - display: flex; |
54 | | - align-items: center; |
55 | | - gap: var(--space-large); |
56 | | - min-width: 0; |
57 | | -} |
58 | | - |
59 | 50 | .content-modal__title { |
60 | | - margin: 0; |
| 51 | + flex: 1 1 auto; |
| 52 | + min-width: 0; |
| 53 | + margin: 0 var(--space-large); |
61 | 54 | padding: 0; |
62 | 55 | font-family: var(--font-display); |
63 | 56 | font-size: var(--font-size-large); |
64 | 57 | font-weight: var(--font-weight-medium); |
65 | 58 | line-height: var(--line-height-tight); |
66 | 59 | letter-spacing: var(--letter-spacing-display-regular); |
67 | 60 | color: var(--color-text-primary); |
68 | | - min-width: 0; |
| 61 | +} |
| 62 | + |
| 63 | +.content-modal__header .carousel-buttons { |
| 64 | + flex-shrink: 0; |
69 | 65 | } |
70 | 66 |
|
71 | 67 | /* ============================================ |
|
284 | 280 | max-width: calc(100vw - 2 * var(--space-default)); |
285 | 281 | max-height: calc(100vh - 2 * var(--space-large)); |
286 | 282 | border-radius: var(--border-radius-l); |
287 | | - gap: var(--space-default); |
| 283 | + gap: var(--space-large); |
| 284 | + } |
| 285 | + |
| 286 | + /* Wrap the title onto its own row, leaving close + carousel on row 1. |
| 287 | + `order: 1` pushes it after both siblings; `flex-basis: 100%` forces a wrap. |
| 288 | + Negative horizontal margin lets the divider above the title span the |
| 289 | + full container width past the header's left/right padding. */ |
| 290 | + .content-modal__header { |
| 291 | + flex-wrap: wrap; |
| 292 | + row-gap: var(--space-large); |
| 293 | + } |
| 294 | + |
| 295 | + .content-modal__header .carousel-buttons { |
| 296 | + margin-left: auto; |
288 | 297 | } |
289 | 298 |
|
290 | 299 | .content-modal__title { |
291 | | - font-size: var(--font-size-medium); |
| 300 | + order: 1; |
| 301 | + flex-basis: 100%; |
| 302 | + margin: 0 calc(-1 * var(--space-large)); |
| 303 | + padding: var(--space-large) var(--space-large) 0; |
| 304 | + border-top: 1px solid var(--color-stroke-weak); |
292 | 305 | } |
293 | 306 |
|
294 | 307 | .content-modal__subtitle { |
|
0 commit comments