PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.2.8
Yatra – Travel Booking & Tour Operator Software v3.0.2.8
3.0.15 3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 2.0.10 All 83 releases
yatra / assets / css / stripe.css

stripe.css in Yatra – Travel Booking & Tour Operator Software 3.0.2.8, at assets/css/stripe.css

367 lines 7.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Stripe Elements Styling
3 */
4
5 .yatra-stripe-container {
6 margin: 18px 0 0;
7 display: none; /* Hidden by default, shown when Stripe is selected */
8 padding: 0;
9 border: none;
10 background: transparent;
11 box-shadow: none;
12 }
13
14 .yatra-method-switcher {
15 margin-bottom: 18px;
16 }
17
18 .yatra-method-switcher__header {
19 margin-bottom: 16px;
20 }
21
22 .yatra-label-eyebrow {
23 font-size: 0.75rem;
24 text-transform: uppercase;
25 letter-spacing: 0.1em;
26 color: #2563eb;
27 margin: 0 0 6px;
28 }
29
30 .yatra-method-switcher__title {
31 font-size: 1.3rem;
32 font-weight: 700;
33 color: #0f172a;
34 }
35
36 .yatra-method-switcher__helper {
37 margin: 4px 0 0;
38 color: #475569;
39 font-size: 0.92rem;
40 }
41
42 .yatra-method-switcher__buttons {
43 display: grid;
44 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
45 gap: 10px;
46 }
47
48 .yatra-method-button {
49 display: flex;
50 align-items: center;
51 gap: 12px;
52 padding: 14px 12px;
53 border-radius: 14px;
54 border: 1px solid rgba(148, 163, 184, 0.4);
55 background: #f8fafc;
56 color: #0f172a;
57 box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
58 transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
59 font-weight: 500;
60 }
61
62 .yatra-method-button .method-icon {
63 width: 40px;
64 height: 40px;
65 border-radius: 12px;
66 background: #ffffff;
67 display: inline-flex;
68 align-items: center;
69 justify-content: center;
70 color: #1e1b4b;
71 flex-shrink: 0;
72 }
73
74 .method-icon svg {
75 width: 22px;
76 height: 22px;
77 }
78
79 /* JS uses method-icon--google_pay / method-icon--apple_pay (match stripe.js) */
80 .method-icon--google {
81 background: linear-gradient(135deg, #0f9d58, #1a73e8);
82 color: #fff;
83 }
84
85 .method-icon--google_pay {
86 background: #fff;
87 border: 1px solid #e2e8f0;
88 color: inherit;
89 }
90
91 .method-icon--google_pay svg {
92 width: 28px;
93 height: 28px;
94 max-width: none;
95 }
96
97 .method-icon--apple {
98 background: #0f172a;
99 color: #fff;
100 }
101
102 .method-icon--apple_pay {
103 background: #fff;
104 border: 1px solid #e2e8f0;
105 color: #000;
106 }
107
108 .method-icon--apple_pay svg {
109 width: 26px;
110 height: 26px;
111 max-width: none;
112 }
113
114 .yatra-method-button .method-content {
115 text-align: left;
116 display: flex;
117 flex-direction: column;
118 gap: 4px;
119 }
120
121 .yatra-method-button .method-label {
122 font-size: 0.9rem;
123 font-weight: 600;
124 }
125
126 .yatra-method-button .method-description {
127 font-size: 0.8rem;
128 color: #475569;
129 }
130
131 .method-tooltip {
132 position: relative;
133 z-index: 2;
134 margin-left: auto;
135 width: 26px;
136 height: 26px;
137 border-radius: 50%;
138 background: #f1f5f9;
139 display: inline-flex;
140 align-items: center;
141 justify-content: center;
142 color: #2563eb;
143 transition: background 0.15s ease;
144 flex-shrink: 0;
145 pointer-events: auto;
146 }
147
148 .method-tooltip svg {
149 width: 16px;
150 height: 16px;
151 }
152
153 .yatra-method-button.is-disabled .method-tooltip,
154 .yatra-method-button.is-pending .method-tooltip {
155 pointer-events: auto;
156 }
157
158 .method-tooltip:hover,
159 .method-tooltip:focus-visible {
160 background: #e0ecff;
161 }
162
163 .method-tooltip::after {
164 content: attr(data-tooltip);
165 position: absolute;
166 transform: translate(-50%, -8px);
167 left: 50%;
168 bottom: 100%;
169 background: #0f172a;
170 color: #fff;
171 padding: 8px 12px;
172 border-radius: 8px;
173 font-size: 0.75rem;
174 line-height: 1.35;
175 max-width: min(280px, 86vw);
176 width: max-content;
177 white-space: normal;
178 text-align: left;
179 box-shadow: 0 8px 24px rgba(15, 23, 42, 0.25);
180 opacity: 0;
181 pointer-events: none;
182 transition: opacity 0.15s ease, transform 0.15s ease;
183 z-index: 50;
184 }
185
186 .method-tooltip:hover::after,
187 .method-tooltip:focus-visible::after {
188 opacity: 1;
189 transform: translate(-50%, -14px);
190 }
191
192 .yatra-method-button.is-active {
193 border-color: #2563eb;
194 box-shadow: 0 10px 26px rgba(37, 99, 235, 0.2);
195 transform: translateY(-3px);
196 }
197
198 .yatra-method-button.is-disabled {
199 cursor: not-allowed;
200 background: #eef2f6;
201 border-color: #cbd5e1;
202 color: #64748b;
203 }
204
205 .yatra-method-button.is-disabled .method-label {
206 color: #64748b;
207 }
208
209 .yatra-method-button.is-disabled .method-icon {
210 opacity: 0.85;
211 }
212
213 .yatra-method-button.is-pending {
214 border-style: dashed;
215 border-color: #94a3b8;
216 }
217
218 .yatra-stripe-card-wrapper,
219 .yatra-stripe-payment-request-wrapper {
220 background: #fff;
221 border: 1px solid rgba(148, 163, 184, 0.3);
222 border-radius: 18px;
223 padding: 22px;
224 margin-top: 14px;
225 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 10px 25px rgba(15, 23, 42, 0.08);
226 }
227
228 .yatra-wallet-header {
229 display: flex;
230 align-items: center;
231 justify-content: space-between;
232 flex-wrap: wrap;
233 gap: 12px;
234 }
235
236 .yatra-wallet-eyebrow {
237 font-size: 0.75rem;
238 text-transform: uppercase;
239 letter-spacing: 0.1em;
240 color: #2563eb;
241 margin: 0;
242 }
243
244 .yatra-wallet-title {
245 font-size: 1.25rem;
246 margin: 0;
247 color: #0f172a;
248 }
249
250 .yatra-wallet-badges {
251 display: flex;
252 gap: 6px;
253 }
254
255 .wallet-badge {
256 padding: 6px 14px;
257 border-radius: 999px;
258 font-size: 0.8rem;
259 font-weight: 600;
260 color: #0f172a;
261 background: #eef2ff;
262 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
263 }
264
265 .wallet-badge--apple {
266 background: #0f172a;
267 color: #fff;
268 }
269
270 .wallet-badge--google {
271 background: linear-gradient(135deg, #1a73e8, #34a853);
272 color: #fff;
273 }
274
275 .yatra-wallet-desc {
276 margin: 10px 0 14px;
277 color: #475569;
278 font-size: 0.9rem;
279 }
280
281 .yatra-wallet-status {
282 margin-top: 18px;
283 font-size: 0.88rem;
284 color: #475569;
285 padding: 12px 14px;
286 border-radius: 12px;
287 background: #edf2ff;
288 }
289
290 .yatra-wallet-status.is-success {
291 background: #ecfdf5;
292 color: #047857;
293 }
294
295 .yatra-wallet-status.is-warning {
296 background: #fff7ed;
297 color: #9a3412;
298 }
299
300 .yatra-wallet-status.is-error {
301 background: #fef2f2;
302 color: #b91c1c;
303 }
304
305 .wallet-placeholder {
306 border: 1px dashed #cbd5f5;
307 border-radius: 14px;
308 padding: 16px;
309 color: #64748b;
310 text-align: center;
311 background: rgba(248, 250, 255, 0.8);
312 }
313
314 .yatra-stripe-card-element {
315 padding: 14px;
316 border: 1px solid rgba(148, 163, 184, 0.6);
317 border-radius: 14px;
318 background: #fff;
319 margin-bottom: 12px;
320 transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
321 }
322
323 .yatra-stripe-card-element--focus {
324 border-color: #2563eb;
325 box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.6);
326 }
327
328 .yatra-stripe-card-element--invalid {
329 border-color: #ef4444;
330 }
331
332 .yatra-stripe-errors {
333 color: #ef4444;
334 font-size: 0.875rem;
335 line-height: 1.25rem;
336 margin-top: 0.5rem;
337 display: none;
338 }
339
340 .yatra-stripe-errors.visible {
341 display: block;
342 }
343
344 /* Loading spinner */
345 .yatra-spinner {
346 display: inline-block;
347 width: 1em;
348 height: 1em;
349 border: 2px solid rgba(255, 255, 255, 0.3);
350 border-radius: 50%;
351 border-top-color: #fff;
352 animation: yatra-spin 1s ease-in-out infinite;
353 margin-right: 8px;
354 vertical-align: middle;
355 }
356
357 @keyframes yatra-spin {
358 to { transform: rotate(360deg); }
359 }
360
361 /* Responsive adjustments */
362 @media (max-width: 480px) {
363 .yatra-stripe-card-element {
364 padding: 10px;
365 }
366 }
367