PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.16
Yatra – Travel Booking & Tour Operator Software v3.0.16
3.0.16 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 All 84 releases
← All changes | assets/css/shortcodes/login-shortcode.css +118 -8 3.0.2.7 → 3.0.16 View file →
@@ -7,11 +7,11 @@
7 7 */
8 8
9 9 /* CSS Custom Properties for better maintainability */
10 10 :root {
11 - --yatra-login-primary: #3b82f6;
12 - --yatra-login-primary-hover: #2563eb;
13 - --yatra-login-primary-light: rgba(59, 130, 246, 0.1);
11 + --yatra-login-primary: var(--yatra-primary, #3b82f6);
12 + --yatra-login-primary-hover: var(--yatra-primary-dark, #2563eb);
13 + --yatra-login-primary-light: color-mix(in srgb, var(--yatra-primary, #3b82f6) 12%, transparent);
14 14 --yatra-login-text: #1f2937;
15 15 --yatra-login-text-muted: #6b7280;
16 16 --yatra-login-border: #d1d5db;
17 17 --yatra-login-border-hover: #9ca3af;
@@ -21,9 +21,9 @@
21 21 --yatra-login-error-bg: #fef2f2;
22 22 --yatra-login-error-border: #fecaca;
23 23 --yatra-login-success: #10b981;
24 24 --yatra-login-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
25 - --yatra-login-shadow-hover: 0 2px 8px rgba(59, 130, 246, 0.3);
25 + --yatra-login-shadow-hover: 0 2px 8px color-mix(in srgb, var(--yatra-primary, #3b82f6) 28%, transparent);
26 26 --yatra-login-border-radius: 12px;
27 27 --yatra-login-border-radius-sm: 8px;
28 28 --yatra-login-border-radius-xs: 6px;
29 29 --yatra-login-transition: all 0.2s ease;
@@ -73,8 +73,68 @@
73 73 .yatra-login-form-container {
74 74 padding: 30px;
75 75 }
76 76
77 +/* Login / Sign Up tabs */
78 +.yatra-login-tabs {
79 + display: flex;
80 + gap: 4px;
81 + margin-bottom: 24px;
82 + border-bottom: 2px solid var(--yatra-login-border);
83 +}
84 +
85 +.yatra-login-tab {
86 + flex: 1;
87 + background: none;
88 + border: none;
89 + padding: 12px 16px;
90 + margin-bottom: -2px;
91 + font-size: 0.95rem;
92 + font-weight: 600;
93 + color: var(--yatra-login-text-muted);
94 + cursor: pointer;
95 + border-bottom: 2px solid transparent;
96 + transition: var(--yatra-login-transition-fast);
97 +}
98 +
99 +.yatra-login-tab:hover {
100 + color: var(--yatra-login-text);
101 +}
102 +
103 +.yatra-login-tab.is-active {
104 + color: var(--yatra-login-primary);
105 + border-bottom-color: var(--yatra-login-primary);
106 +}
107 +
108 +.yatra-login-tab:focus-visible {
109 + outline: 2px solid var(--yatra-login-primary);
110 + outline-offset: 2px;
111 + border-radius: var(--yatra-login-border-radius-xs);
112 +}
113 +
114 +/* Gentle fade so switching tabs (and the card growing/shrinking) isn't abrupt.
115 + Only runs when a panel is rendered; the reduced-motion rule below disables it. */
116 +.yatra-auth-panel {
117 + animation: yatraAuthPanelIn 0.2s ease;
118 +}
119 +
120 +@keyframes yatraAuthPanelIn {
121 + from { opacity: 0; transform: translateY(4px); }
122 + to { opacity: 1; transform: translateY(0); }
123 +}
124 +
125 +/* Title + intro line shown at the top of the register / forgot panels */
126 +.yatra-auth-panel-title {
127 + text-align: center;
128 + margin: 0 0 8px 0;
129 + font-size: 1.5rem;
130 +}
131 +
132 +.yatra-auth-panel-intro {
133 + margin: 0 0 20px 0;
134 + text-align: center;
135 +}
136 +
77 137 .yatra-form-group {
78 138 margin-bottom: 20px;
79 139 }
80 140
@@ -110,8 +170,14 @@
110 170 .yatra-password-input-group {
111 171 position: relative;
112 172 }
113 173
174 +/* Reserve room on the right so typed text / placeholder never runs under
175 + the show/hide toggle. */
176 +.yatra-password-input-group .yatra-form-input {
177 + padding-right: 44px;
178 +}
179 +
114 180 .yatra-password-toggle {
115 181 position: absolute;
116 182 right: 12px;
117 183 top: 50%;
@@ -132,10 +198,10 @@
132 198 .yatra-password-toggle:hover {
133 199 color: var(--yatra-login-primary);
134 200 }
135 201
136 -.yatra-password-toggle:focus {
137 - outline: 2px solid var(--yatra-login-primary-light);
202 +.yatra-password-toggle:focus-visible {
203 + outline: 2px solid var(--yatra-login-primary);
138 204 outline-offset: 2px;
139 205 }
140 206
141 207 .yatra-eye-icon,
@@ -340,9 +406,9 @@
340 406 margin-bottom: 20px;
341 407 }
342 408
343 409 .yatra-link {
344 - color: #3b82f6;
410 + color: var(--yatra-primary, #3b82f6);
345 411 text-decoration: none;
346 412 font-size: 0.875rem;
347 413 transition: color 0.3s ease;
348 414 }
@@ -347,9 +413,9 @@
347 413 transition: color 0.3s ease;
348 414 }
349 415
350 416 .yatra-link:hover {
351 - color: #2563eb;
417 + color: var(--yatra-primary-dark, #2563eb);
352 418 }
353 419
354 420 .yatra-link-bold {
355 421 font-weight: 600;
@@ -437,6 +503,50 @@
437 503 }
438 504
439 505 .yatra-logged-in-actions {
440 506 flex-direction: column;
507 + }
508 +}
509 +
510 +/* ============================================
511 + MOBILE-INPUT HYGIENE
512 + ============================================
513 + Match the booking-form mobile rules so the customer's full
514 + journey (browse → book → login → register → manage account)
515 + feels consistent on phones. Two concerns are addressed at
516 + <=768px:
517 +
518 + 1. iOS auto-zoom: any input below 16px computed font-size
519 + triggers a 1.25x viewport zoom on focus. The desktop styles
520 + use 1rem (16px) already, but we re-declare it inside the
521 + media query to win any theme override that might lower it.
522 + 2. Tap-target comfort: bump min-height to 48px and pad the
523 + input vertically for thumb-friendly hit areas. Apple HIG
524 + minimum is 44pt; Material is 48dp — we use the larger so
525 + portrait phone use isn't cramped.
526 + ============================================ */
527 +@media (max-width: 768px) {
528 + .yatra-login-shortcode .yatra-form-input,
529 + .yatra-login-shortcode input[type="text"],
530 + .yatra-login-shortcode input[type="email"],
531 + .yatra-login-shortcode input[type="password"],
532 + .yatra-login-shortcode input[type="tel"],
533 + .yatra-login-shortcode select,
534 + .yatra-login-shortcode textarea {
535 + font-size: 16px;
536 + min-height: 48px;
537 + padding-top: 14px;
538 + padding-bottom: 14px;
539 + }
540 +
541 + /*
542 + * The submit / primary-action button on login + register
543 + * gets the same 48px floor so the CTA matches input height
544 + * and is easy to tap one-handed.
545 + */
546 + .yatra-login-shortcode button[type="submit"],
547 + .yatra-login-shortcode .yatra-btn-primary,
548 + .yatra-login-shortcode .yatra-submit-btn {
549 + min-height: 48px;
550 + font-size: 16px;
441 551 }
442 552 }