petter2025 commited on
Commit
f362024
·
verified ·
1 Parent(s): bb3ba38

Create styles/responsive.css

Browse files
Files changed (1) hide show
  1. ui/styles/responsive.css +161 -0
ui/styles/responsive.css ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ui/styles/responsive.css - Mobile-First Responsive Utilities */
2
+
3
+ /* Mobile-first: default styles are for mobile */
4
+ .container {
5
+ padding: 0 var(--spacing-4);
6
+ }
7
+
8
+ /* Hide/show utilities for different screen sizes */
9
+ .mobile-only {
10
+ display: block;
11
+ }
12
+
13
+ .tablet-only {
14
+ display: none;
15
+ }
16
+
17
+ .desktop-only {
18
+ display: none;
19
+ }
20
+
21
+ /* Responsive grid columns */
22
+ .grid-2, .grid-3, .grid-4 {
23
+ grid-template-columns: 1fr;
24
+ }
25
+
26
+ /* Responsive typography */
27
+ .text-responsive {
28
+ font-size: 0.875rem;
29
+ }
30
+
31
+ /* Responsive spacing */
32
+ .responsive-padding {
33
+ padding: var(--spacing-4);
34
+ }
35
+
36
+ /* Tablet styles (≥ 768px) */
37
+ @media (min-width: 768px) {
38
+ .container {
39
+ padding: 0 var(--spacing-6);
40
+ }
41
+
42
+ .mobile-only {
43
+ display: none;
44
+ }
45
+
46
+ .tablet-only {
47
+ display: block;
48
+ }
49
+
50
+ .grid-2 {
51
+ grid-template-columns: repeat(2, 1fr);
52
+ }
53
+
54
+ .grid-3 {
55
+ grid-template-columns: repeat(2, 1fr);
56
+ }
57
+
58
+ .text-responsive {
59
+ font-size: 1rem;
60
+ }
61
+
62
+ .responsive-padding {
63
+ padding: var(--spacing-6);
64
+ }
65
+ }
66
+
67
+ /* Desktop styles (≥ 1024px) */
68
+ @media (min-width: 1024px) {
69
+ .container {
70
+ padding: 0 var(--spacing-8);
71
+ }
72
+
73
+ .tablet-only {
74
+ display: none;
75
+ }
76
+
77
+ .desktop-only {
78
+ display: block;
79
+ }
80
+
81
+ .grid-3 {
82
+ grid-template-columns: repeat(3, 1fr);
83
+ }
84
+
85
+ .grid-4 {
86
+ grid-template-columns: repeat(4, 1fr);
87
+ }
88
+
89
+ .text-responsive {
90
+ font-size: 1.125rem;
91
+ }
92
+
93
+ .responsive-padding {
94
+ padding: var(--spacing-8);
95
+ }
96
+ }
97
+
98
+ /* Large desktop (≥ 1280px) */
99
+ @media (min-width: 1280px) {
100
+ .text-responsive {
101
+ font-size: 1.25rem;
102
+ }
103
+ }
104
+
105
+ /* Ultra-wide screens (≥ 1536px) */
106
+ @media (min-width: 1536px) {
107
+ .container {
108
+ max-width: 1400px;
109
+ }
110
+ }
111
+
112
+ /* Touch-friendly styles for mobile */
113
+ @media (hover: none) and (pointer: coarse) {
114
+ .btn, button, [role="button"] {
115
+ min-height: 44px;
116
+ min-width: 44px;
117
+ }
118
+
119
+ input, select, textarea {
120
+ font-size: 16px; /* Prevents iOS zoom on focus */
121
+ }
122
+ }
123
+
124
+ /* Reduce motion preference */
125
+ @media (prefers-reduced-motion: reduce) {
126
+ *,
127
+ *::before,
128
+ *::after {
129
+ animation-duration: 0.01ms !important;
130
+ animation-iteration-count: 1 !important;
131
+ transition-duration: 0.01ms !important;
132
+ }
133
+ }
134
+
135
+ /* High contrast mode support */
136
+ @media (prefers-contrast: high) {
137
+ .card {
138
+ border: 2px solid var(--color-text);
139
+ }
140
+
141
+ .btn {
142
+ border: 2px solid currentColor;
143
+ }
144
+ }
145
+
146
+ /* Print styles */
147
+ @media print {
148
+ .no-print {
149
+ display: none !important;
150
+ }
151
+
152
+ .card {
153
+ border: 1px solid #000;
154
+ box-shadow: none;
155
+ }
156
+
157
+ a {
158
+ color: #000;
159
+ text-decoration: underline;
160
+ }
161
+ }