galali-shoptet 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +28 -0
  2. package/style.css +723 -0
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "galali-shoptet",
3
+ "version": "1.0.0",
4
+ "description": "Custom CSS for Galali Shoptet theme (designshop.galali.cz)",
5
+ "main": "style.css",
6
+ "style": "style.css",
7
+ "files": [
8
+ "style.css"
9
+ ],
10
+ "scripts": {
11
+ "test": "echo \"Error: no test specified\" && exit 1"
12
+ },
13
+ "keywords": [
14
+ "shoptet",
15
+ "css",
16
+ "galali"
17
+ ],
18
+ "author": "standa",
19
+ "license": "ISC",
20
+ "type": "commonjs",
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "devDependencies": {
25
+ "pixelmatch": "^7.2.0",
26
+ "pngjs": "^7.0.0"
27
+ }
28
+ }
package/style.css ADDED
@@ -0,0 +1,723 @@
1
+ /* DesignShop — sjednocení s návrhem Galali (sqrl.dev) */
2
+ /* ===================================================== */
3
+
4
+ /* === Fonty === */
5
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
6
+
7
+ /* === Design tokeny === */
8
+ :root {
9
+ --gl-black: #000000;
10
+ --gl-white: #ffffff;
11
+ --gl-fg-1: #000000;
12
+ --gl-fg-2: #828282;
13
+ --gl-mute: #d9d9d9;
14
+ --gl-divider: #e8e8e8;
15
+ --gl-stroke-1: #000000;
16
+ --gl-surface: #ffffff;
17
+ --gl-surface-alt: #f6f6f5;
18
+ --gl-paper-2: #f5f5f5;
19
+ --gl-paper-3: #eeeeee;
20
+ --gl-gutter: 60px;
21
+ --gl-page-max: 1920px;
22
+ --gl-content-max: 1800px;
23
+ --gl-font-body: "Neue Haas Grotesk Text Pro", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
24
+ --gl-font-ui: "Inter", "Neue Haas Grotesk Text Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
25
+ --gl-size-ui: 20px;
26
+ --gl-size-body: 24px;
27
+ --gl-size-meta: 16px;
28
+ --gl-w-regular: 400;
29
+ --gl-w-medium: 500;
30
+ --gl-w-bold: 700;
31
+ }
32
+
33
+ /* === Globální typografie === */
34
+ body {
35
+ font-family: var(--gl-font-body);
36
+ color: var(--gl-fg-1);
37
+ background: var(--gl-white);
38
+ }
39
+
40
+ /* === Skrýt nevhodné prvky pro nový design === */
41
+ .menu-helper { display: none !important; }
42
+ .navigationActions { display: none !important; }
43
+
44
+ /* ============================================ */
45
+ /* === TOP PANEL (ustrip) === */
46
+ /* ============================================ */
47
+
48
+ .top-navigation-bar {
49
+ display: block;
50
+ background: var(--gl-white);
51
+ border-bottom: 1px solid var(--gl-divider);
52
+ color: var(--gl-fg-2);
53
+ font-family: var(--gl-font-ui);
54
+ font-size: 13px;
55
+ font-weight: var(--gl-w-regular);
56
+ line-height: 1;
57
+ padding: 0;
58
+ margin: 0;
59
+ }
60
+
61
+ .top-navigation-bar .container {
62
+ display: flex;
63
+ align-items: center;
64
+ justify-content: space-between;
65
+ height: 36px;
66
+ max-width: var(--gl-page-max);
67
+ width: 100%;
68
+ padding: 0 var(--gl-gutter);
69
+ margin: 0 auto;
70
+ box-sizing: border-box;
71
+ }
72
+
73
+ /* --- Levý blok: kontakty (Zák. podpora + telefon + email) --- */
74
+ .top-navigation-bar .top-navigation-contacts {
75
+ display: flex;
76
+ align-items: center;
77
+ gap: 22px;
78
+ margin: 0;
79
+ padding: 0;
80
+ flex-shrink: 0;
81
+ }
82
+ .top-navigation-bar .top-navigation-contacts strong {
83
+ font-weight: var(--gl-w-regular);
84
+ color: var(--gl-fg-2);
85
+ margin: 0;
86
+ padding: 0;
87
+ }
88
+ .top-navigation-bar .top-navigation-contacts a {
89
+ display: inline-flex;
90
+ align-items: center;
91
+ gap: 6px;
92
+ padding: 0 4px;
93
+ margin: 0;
94
+ color: var(--gl-fg-2);
95
+ text-decoration: none;
96
+ font-size: 13px;
97
+ font-weight: var(--gl-w-regular);
98
+ line-height: 1;
99
+ transition: color .15s, opacity .15s;
100
+ }
101
+ .top-navigation-bar .top-navigation-contacts a:hover,
102
+ .top-navigation-bar .top-navigation-contacts a:focus {
103
+ color: var(--gl-fg-1);
104
+ opacity: 1;
105
+ text-decoration: none;
106
+ }
107
+ .top-navigation-bar .top-navigation-contacts a span {
108
+ display: inline;
109
+ }
110
+ /* skryj Shoptet ikonky v telefonu/emailu */
111
+ .top-navigation-bar .top-navigation-contacts a::before,
112
+ .top-navigation-bar .top-navigation-contacts a::after {
113
+ content: none !important;
114
+ display: none !important;
115
+ }
116
+
117
+ /* --- Středový blok: menu odkazy (Jak nakupovat, OP, ...) --- */
118
+ .top-navigation-bar .top-navigation-menu {
119
+ display: flex;
120
+ align-items: center;
121
+ flex: 1;
122
+ justify-content: center;
123
+ margin: 0;
124
+ padding: 0;
125
+ height: 36px;
126
+ }
127
+ .top-navigation-bar .top-navigation-menu-trigger { display: none !important; }
128
+ .top-navigation-bar ul.top-navigation-bar-menu {
129
+ display: flex;
130
+ align-items: center;
131
+ gap: 22px;
132
+ margin: 0;
133
+ padding: 0;
134
+ list-style: none;
135
+ }
136
+ .top-navigation-bar ul.top-navigation-bar-menu-helper {
137
+ display: none !important;
138
+ }
139
+ .top-navigation-bar ul.top-navigation-bar-menu > li {
140
+ display: inline-flex;
141
+ align-items: center;
142
+ margin: 0;
143
+ padding: 0;
144
+ background: none;
145
+ border: none;
146
+ }
147
+ .top-navigation-bar ul.top-navigation-bar-menu > li.cropped {
148
+ display: none;
149
+ }
150
+ .top-navigation-bar ul.top-navigation-bar-menu > li > a {
151
+ display: inline-block;
152
+ padding: 0 4px;
153
+ color: var(--gl-fg-2);
154
+ text-decoration: none;
155
+ font-family: var(--gl-font-ui);
156
+ font-size: 13px;
157
+ font-weight: var(--gl-w-regular);
158
+ text-transform: none;
159
+ line-height: 1;
160
+ transition: color .15s;
161
+ }
162
+ .top-navigation-bar ul.top-navigation-bar-menu > li > a:hover,
163
+ .top-navigation-bar ul.top-navigation-bar-menu > li > a:focus {
164
+ color: var(--gl-fg-1);
165
+ text-decoration: none;
166
+ }
167
+
168
+ /* --- Pravý blok: tools (Přihlášení) --- */
169
+ .top-navigation-bar .top-navigation-tools {
170
+ display: flex;
171
+ align-items: center;
172
+ gap: 22px;
173
+ margin: 0;
174
+ padding: 0;
175
+ flex-shrink: 0;
176
+ }
177
+ .top-navigation-bar .top-navigation-tools .responsive-tools {
178
+ display: none !important;
179
+ }
180
+ .top-navigation-bar .top-navigation-tools button.top-nav-button-login,
181
+ .top-navigation-bar .top-navigation-tools .top-nav-button {
182
+ display: inline-flex;
183
+ align-items: center;
184
+ height: auto;
185
+ padding: 0 4px;
186
+ margin: 0;
187
+ background: transparent;
188
+ border: none;
189
+ border-radius: 0;
190
+ box-shadow: none;
191
+ color: var(--gl-fg-2);
192
+ font-family: var(--gl-font-ui);
193
+ font-size: 13px;
194
+ font-weight: var(--gl-w-regular);
195
+ line-height: 1;
196
+ text-transform: none;
197
+ cursor: pointer;
198
+ transition: color .15s;
199
+ }
200
+ .top-navigation-bar .top-navigation-tools button.top-nav-button-login span {
201
+ color: inherit;
202
+ font: inherit;
203
+ text-transform: none;
204
+ }
205
+ .top-navigation-bar .top-navigation-tools button.top-nav-button-login:hover,
206
+ .top-navigation-bar .top-navigation-tools button.top-nav-button-login:focus,
207
+ .top-navigation-bar .top-navigation-tools button.top-nav-button-login:hover span,
208
+ .top-navigation-bar .top-navigation-tools button.top-nav-button-login:focus span {
209
+ background: transparent;
210
+ color: var(--gl-fg-1);
211
+ box-shadow: none;
212
+ }
213
+
214
+ /* ============================================ */
215
+ /* === HEADER === */
216
+ /* ============================================ */
217
+
218
+ header#header {
219
+ background: var(--gl-white);
220
+ border-bottom: 1px solid var(--gl-divider);
221
+ position: sticky;
222
+ top: 0;
223
+ z-index: 50;
224
+ margin: 0;
225
+ padding: 0;
226
+ height: auto;
227
+ }
228
+
229
+ header#header .container.navigation-wrapper {
230
+ max-width: var(--gl-page-max);
231
+ width: 100%;
232
+ padding: 0;
233
+ margin: 0 auto;
234
+ }
235
+
236
+ /* --- Horní pruh: logo / search / utilities (hbar) --- */
237
+ header#header .header-top {
238
+ display: grid;
239
+ grid-template-columns: auto 1fr auto;
240
+ align-items: center;
241
+ gap: 40px;
242
+ padding: 0 var(--gl-gutter);
243
+ height: 96px;
244
+ max-width: var(--gl-page-max);
245
+ margin: 0 auto;
246
+ }
247
+
248
+ /* --- Logo --- */
249
+ header#header .site-name-wrapper {
250
+ display: flex;
251
+ align-items: center;
252
+ }
253
+ header#header .site-name {
254
+ display: flex;
255
+ align-items: center;
256
+ margin: 0;
257
+ padding: 0;
258
+ }
259
+ header#header .site-name a {
260
+ display: flex;
261
+ align-items: center;
262
+ }
263
+ header#header .site-name img {
264
+ height: 44px;
265
+ width: auto;
266
+ max-width: 220px;
267
+ object-fit: contain;
268
+ }
269
+
270
+ /* --- Search --- */
271
+ header#header .search {
272
+ position: static;
273
+ display: flex;
274
+ justify-content: flex-start;
275
+ align-items: center;
276
+ width: 100%;
277
+ }
278
+ header#header .search-form {
279
+ position: relative;
280
+ width: 100%;
281
+ max-width: 720px;
282
+ height: 48px;
283
+ margin: 0;
284
+ padding: 0;
285
+ background: var(--gl-white);
286
+ border: 1px solid var(--gl-stroke-1);
287
+ border-radius: 0;
288
+ box-shadow: none;
289
+ }
290
+ header#header .search-form .search-input,
291
+ header#header input.search-input {
292
+ width: 100%;
293
+ height: 46px;
294
+ padding: 0 56px 0 50px;
295
+ border: none;
296
+ border-radius: 0;
297
+ background: transparent;
298
+ font-family: var(--gl-font-ui);
299
+ font-size: 16px;
300
+ font-weight: var(--gl-w-regular);
301
+ color: var(--gl-fg-1);
302
+ box-shadow: none;
303
+ outline: none;
304
+ }
305
+ header#header .search-form .search-input::placeholder {
306
+ color: var(--gl-fg-2);
307
+ opacity: 1;
308
+ }
309
+
310
+ /* Magnifying glass icon (left, vlastní SVG přes pseudo) */
311
+ header#header .search-form::before {
312
+ content: "";
313
+ position: absolute;
314
+ left: 18px;
315
+ top: 50%;
316
+ width: 20px;
317
+ height: 20px;
318
+ transform: translateY(-50%);
319
+ background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'><circle cx='11' cy='11' r='7'/><path d='m21 21-5-5'/></svg>") center/contain no-repeat;
320
+ pointer-events: none;
321
+ z-index: 2;
322
+ }
323
+
324
+ /* Submit button skrytý — sqrl design nemá viditelné tlačítko */
325
+ header#header .search-form button[type="submit"],
326
+ header#header .search-form .button {
327
+ display: none !important;
328
+ }
329
+
330
+ /* --- Utilities (hutil) --- */
331
+ header#header .navigation-buttons {
332
+ display: flex;
333
+ align-items: center;
334
+ justify-content: flex-end;
335
+ gap: 14px;
336
+ margin: 0;
337
+ padding: 0;
338
+ }
339
+
340
+ /* Cart pill */
341
+ header#header .navigation-buttons a.cart-count,
342
+ header#header .navigation-buttons a[data-target="cart"] {
343
+ display: inline-flex;
344
+ align-items: center;
345
+ gap: 10px;
346
+ height: 46px;
347
+ padding: 12px 18px;
348
+ background: var(--gl-black);
349
+ color: var(--gl-white);
350
+ border: none;
351
+ border-radius: 0;
352
+ font-family: var(--gl-font-ui);
353
+ font-size: 16px;
354
+ font-weight: var(--gl-w-medium);
355
+ text-decoration: none;
356
+ line-height: 1;
357
+ transition: background .15s, color .15s;
358
+ }
359
+ header#header .navigation-buttons a.cart-count:hover,
360
+ header#header .navigation-buttons a[data-target="cart"]:hover {
361
+ background: #1a1a1a;
362
+ color: var(--gl-white);
363
+ }
364
+ header#header .navigation-buttons a.cart-count::before {
365
+ content: "";
366
+ width: 22px;
367
+ height: 22px;
368
+ background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5'><path d='M4 6h2l2.3 11.2A2 2 0 0 0 10.3 19h8.4a2 2 0 0 0 2-1.5L22 9H7'/><circle cx='10' cy='22' r='1.2' fill='white'/><circle cx='19' cy='22' r='1.2' fill='white'/></svg>") center/contain no-repeat;
369
+ flex-shrink: 0;
370
+ }
371
+ header#header .navigation-buttons a.cart-count .sr-only {
372
+ position: absolute !important;
373
+ width: 1px;
374
+ height: 1px;
375
+ overflow: hidden;
376
+ clip: rect(0,0,0,0);
377
+ }
378
+ header#header .navigation-buttons a.cart-count .cart-price {
379
+ font-family: var(--gl-font-ui);
380
+ font-size: 16px;
381
+ font-weight: var(--gl-w-medium);
382
+ color: var(--gl-white);
383
+ line-height: 1;
384
+ }
385
+
386
+ /* --- Hlavní navigace (navbar) --- */
387
+ header#header nav#navigation {
388
+ position: static;
389
+ background: transparent;
390
+ border: none;
391
+ width: 100%;
392
+ height: auto;
393
+ min-height: 56px;
394
+ margin: 0;
395
+ padding: 0;
396
+ overflow: visible;
397
+ }
398
+ header#header nav#navigation .navigation-in,
399
+ header#header nav#navigation .navigation-in.menu {
400
+ position: static;
401
+ background: transparent;
402
+ width: 100%;
403
+ height: 56px;
404
+ margin: 0 auto;
405
+ padding: 0 var(--gl-gutter);
406
+ max-width: var(--gl-page-max);
407
+ box-shadow: none;
408
+ }
409
+ header#header nav#navigation ul.menu-level-1 {
410
+ display: flex;
411
+ align-items: stretch;
412
+ gap: 0;
413
+ height: 56px;
414
+ margin: 0;
415
+ padding: 0;
416
+ list-style: none;
417
+ background: transparent;
418
+ }
419
+ header#header nav#navigation ul.menu-level-1 > li {
420
+ display: flex;
421
+ align-items: center;
422
+ padding: 0 28px 0 0;
423
+ margin: 0;
424
+ position: relative;
425
+ background: transparent;
426
+ border: none !important;
427
+ box-shadow: none;
428
+ }
429
+ header#header nav#navigation ul.menu-level-1 > li::before,
430
+ header#header nav#navigation ul.menu-level-1 > li::after {
431
+ content: none !important;
432
+ display: none !important;
433
+ }
434
+ header#header nav#navigation ul.menu-level-1 > li > a {
435
+ display: flex;
436
+ align-items: center;
437
+ gap: 10px;
438
+ height: 56px;
439
+ padding: 0;
440
+ background: transparent;
441
+ color: var(--gl-black);
442
+ text-decoration: none;
443
+ font-family: var(--gl-font-ui);
444
+ font-size: 16px;
445
+ font-weight: var(--gl-w-medium);
446
+ line-height: 1;
447
+ border: none;
448
+ transition: opacity .15s;
449
+ }
450
+ header#header nav#navigation ul.menu-level-1 > li > a:hover,
451
+ header#header nav#navigation ul.menu-level-1 > li > a:focus {
452
+ opacity: .65;
453
+ background: transparent;
454
+ color: var(--gl-black);
455
+ }
456
+ header#header nav#navigation ul.menu-level-1 > li > a > b {
457
+ font-weight: var(--gl-w-medium);
458
+ }
459
+
460
+ /* Submenu chevron — reset Shoptet pseudo + vlastní SVG */
461
+ header#header nav#navigation ul.menu-level-1 > li > a .submenu-arrow {
462
+ display: inline-block;
463
+ width: 10px;
464
+ height: 6px;
465
+ margin-left: 4px;
466
+ padding: 0;
467
+ background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='black' stroke-width='1.5'><path d='M1 1l4 4 4-4'/></svg>") center/contain no-repeat;
468
+ border: none;
469
+ transform: none;
470
+ }
471
+ header#header nav#navigation .submenu-arrow::before,
472
+ header#header nav#navigation .submenu-arrow::after {
473
+ content: none !important;
474
+ display: none !important;
475
+ border: none !important;
476
+ }
477
+
478
+ /* aria-expanded → otočit chevron */
479
+ header#header nav#navigation ul.menu-level-1 > li > a[aria-expanded="true"] .submenu-arrow {
480
+ transform: rotate(180deg);
481
+ transition: transform .2s;
482
+ }
483
+ header#header nav#navigation ul.menu-level-1 > li > a .submenu-arrow {
484
+ transition: transform .2s;
485
+ }
486
+
487
+ /* --- Dropdown (menu-level-2 ≙ sqrl.dev .dd) --- */
488
+ header#header nav#navigation ul.menu-level-1 > li > ul.menu-level-2 {
489
+ position: absolute;
490
+ top: 100%;
491
+ left: 0;
492
+ min-width: 240px;
493
+ padding: 18px 22px;
494
+ margin: 0;
495
+ background: var(--gl-white);
496
+ border: 1px solid var(--gl-divider);
497
+ border-top: none;
498
+ border-radius: 0;
499
+ box-shadow: 0 6px 20px rgba(0, 0, 0, .04);
500
+ list-style: none;
501
+ z-index: 60;
502
+ /* viditelnost řídí Shoptet (aria-expanded / hover) — tady jen vzhled */
503
+ }
504
+
505
+ /* Skrýt Shoptet "menu-image" placeholder (folder.svg) — sqrl.dev návrh nemá */
506
+ header#header nav#navigation ul.menu-level-2 li > a.menu-image,
507
+ header#header nav#navigation ul.menu-level-2 .menu-image {
508
+ display: none !important;
509
+ }
510
+
511
+ header#header nav#navigation ul.menu-level-2 > li {
512
+ display: block;
513
+ margin: 0;
514
+ padding: 0;
515
+ background: none;
516
+ border: none;
517
+ list-style: none;
518
+ }
519
+ header#header nav#navigation ul.menu-level-2 > li::before,
520
+ header#header nav#navigation ul.menu-level-2 > li::after {
521
+ content: none !important;
522
+ display: none !important;
523
+ }
524
+
525
+ header#header nav#navigation ul.menu-level-2 > li > a,
526
+ header#header nav#navigation ul.menu-level-2 > li > div > a {
527
+ display: block;
528
+ padding: 4px 0;
529
+ margin: 0;
530
+ background: transparent;
531
+ color: var(--gl-fg-1);
532
+ text-decoration: none;
533
+ font-family: var(--gl-font-body);
534
+ font-size: 17px;
535
+ font-weight: var(--gl-w-regular);
536
+ line-height: 1.35;
537
+ border: none;
538
+ white-space: nowrap;
539
+ transition: opacity .15s, color .15s;
540
+ }
541
+ header#header nav#navigation ul.menu-level-2 > li > a:hover,
542
+ header#header nav#navigation ul.menu-level-2 > li > a:focus,
543
+ header#header nav#navigation ul.menu-level-2 > li > div > a:hover,
544
+ header#header nav#navigation ul.menu-level-2 > li > div > a:focus {
545
+ opacity: .65;
546
+ background: transparent;
547
+ color: var(--gl-fg-1);
548
+ text-decoration: none;
549
+ }
550
+ header#header nav#navigation ul.menu-level-2 > li > a > span,
551
+ header#header nav#navigation ul.menu-level-2 > li > div > a > span {
552
+ color: inherit;
553
+ font: inherit;
554
+ }
555
+
556
+ /* Vnořené úrovně (menu-level-3) — stejný look, posun vpravo */
557
+ header#header nav#navigation ul.menu-level-3 {
558
+ margin: 4px 0 0 12px;
559
+ padding: 0;
560
+ list-style: none;
561
+ }
562
+ header#header nav#navigation ul.menu-level-3 > li > a {
563
+ display: block;
564
+ padding: 2px 0;
565
+ color: var(--gl-fg-2);
566
+ font-family: var(--gl-font-body);
567
+ font-size: 15px;
568
+ font-weight: var(--gl-w-regular);
569
+ text-decoration: none;
570
+ transition: color .15s, opacity .15s;
571
+ }
572
+ header#header nav#navigation ul.menu-level-3 > li > a:hover,
573
+ header#header nav#navigation ul.menu-level-3 > li > a:focus {
574
+ color: var(--gl-fg-1);
575
+ opacity: 1;
576
+ }
577
+
578
+ /* ============================================ */
579
+ /* === Nakupte podle kategorií (pictos) === */
580
+ /* ============================================ */
581
+
582
+ /* Sekce wrapper — .gutter section vložená přes HTML blok v adminu */
583
+ section.gutter {
584
+ box-sizing: border-box;
585
+ width: 100%;
586
+ max-width: var(--gl-page-max);
587
+ margin: 0 auto;
588
+ padding: 130px var(--gl-gutter) 0;
589
+ background: transparent;
590
+ }
591
+
592
+ /* Hlavička sekce: nadpis vlevo, "Všechny kategorie" odkaz vpravo */
593
+ section.gutter .sec-head {
594
+ display: flex;
595
+ align-items: end;
596
+ justify-content: space-between;
597
+ gap: 24px;
598
+ margin: 0 0 60px;
599
+ padding: 0;
600
+ border: 0;
601
+ }
602
+
603
+ section.gutter .sec-title {
604
+ margin: 0;
605
+ padding: 0;
606
+ font-family: var(--gl-font-ui);
607
+ font-size: 56px;
608
+ line-height: 56px;
609
+ font-weight: var(--gl-w-bold);
610
+ color: var(--gl-fg-1);
611
+ letter-spacing: normal;
612
+ text-transform: none;
613
+ }
614
+
615
+ /* Odkaz "Všechny kategorie" se šipkou */
616
+ section.gutter .sec-link {
617
+ display: inline-flex;
618
+ align-items: center;
619
+ gap: 16px;
620
+ font-family: var(--gl-font-ui);
621
+ font-size: 18px;
622
+ font-weight: var(--gl-w-regular);
623
+ color: var(--gl-fg-1);
624
+ text-decoration: none;
625
+ transition: gap .15s;
626
+ }
627
+ section.gutter .sec-link svg {
628
+ width: 18px;
629
+ height: 18px;
630
+ flex-shrink: 0;
631
+ fill: currentColor;
632
+ }
633
+ section.gutter .sec-link:hover {
634
+ gap: 22px;
635
+ color: var(--gl-fg-1);
636
+ }
637
+ section.gutter .sec-link:hover span {
638
+ text-decoration: underline;
639
+ text-underline-offset: 6px;
640
+ }
641
+ section.gutter .sec-link:focus-visible {
642
+ outline: 2px solid var(--gl-fg-1);
643
+ outline-offset: 4px;
644
+ }
645
+
646
+ /* Mřížka 6 dlaždic */
647
+ section.gutter .pictos {
648
+ display: grid;
649
+ grid-template-columns: repeat(6, 1fr);
650
+ gap: 14px;
651
+ margin: 0;
652
+ padding: 0;
653
+ list-style: none;
654
+ }
655
+
656
+ /* Dlaždice — čtverec, vystředěná ikona + popisek */
657
+ section.gutter .picto {
658
+ display: flex;
659
+ flex-direction: column;
660
+ align-items: center;
661
+ justify-content: center;
662
+ gap: 28px;
663
+ aspect-ratio: 1 / 1;
664
+ padding: 24px;
665
+ background: var(--gl-surface-alt);
666
+ color: var(--gl-fg-1);
667
+ text-decoration: none;
668
+ transition: background .15s;
669
+ }
670
+ section.gutter .picto svg {
671
+ width: 90px;
672
+ height: 90px;
673
+ color: var(--gl-fg-1);
674
+ stroke-width: 1.5;
675
+ transition: transform .2s;
676
+ }
677
+ section.gutter .picto .name {
678
+ margin: 0;
679
+ font-family: var(--gl-font-ui);
680
+ font-size: 22px;
681
+ font-weight: var(--gl-w-medium);
682
+ color: var(--gl-fg-1);
683
+ text-align: center;
684
+ }
685
+
686
+ /* Stavy: hover/focus */
687
+ section.gutter .picto:hover {
688
+ background: var(--gl-paper-3);
689
+ }
690
+ section.gutter .picto:hover svg {
691
+ transform: translateY(-6px) scale(1.04);
692
+ }
693
+ section.gutter .picto:hover .name {
694
+ text-decoration: underline;
695
+ text-underline-offset: 6px;
696
+ }
697
+ section.gutter .picto:focus-visible {
698
+ outline: 2px solid var(--gl-fg-1);
699
+ outline-offset: 4px;
700
+ }
701
+
702
+ /* Responsive — odvozeno ze sqrl.dev breakpointů */
703
+ @media (max-width: 1279px) {
704
+ section.gutter { padding-top: 80px; }
705
+ section.gutter .sec-title { font-size: 40px; line-height: 42px; }
706
+ section.gutter .sec-link { font-size: 16px; }
707
+ section.gutter .pictos { grid-template-columns: repeat(4, 1fr); gap: 12px; }
708
+ section.gutter .picto { gap: 18px; padding: 18px; }
709
+ section.gutter .picto svg { width: 60px; height: 60px; }
710
+ section.gutter .picto .name { font-size: 16px; text-align: center; }
711
+ }
712
+
713
+ @media (max-width: 767px) {
714
+ section.gutter { padding: 60px 16px 0; }
715
+ section.gutter .sec-head { margin-bottom: 32px; }
716
+ section.gutter .sec-title { font-size: 28px; line-height: 30px; }
717
+ section.gutter .sec-link { font-size: 14px; gap: 10px; }
718
+ section.gutter .sec-link svg { width: 14px; height: 14px; }
719
+ section.gutter .pictos { grid-template-columns: repeat(3, 1fr); gap: 8px; }
720
+ section.gutter .picto { gap: 12px; padding: 12px; }
721
+ section.gutter .picto svg { width: 38px; height: 38px; }
722
+ section.gutter .picto .name { font-size: 12px; line-height: 14px; }
723
+ }