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 / trip.css

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

12,230 lines 238.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Yatra Single Trip Page Styles
3 * Industry-standard design based on leading travel booking platforms
4 * Uses common.css variables for design consistency
5 */
6
7 /* ============================================
8 RESET & BASE
9 Uses consistent container widths from common.css
10 ============================================ */
11 .yatra-single-trip {
12 font-family: var(--yatra-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);
13 line-height: 1.6;
14 color: var(--yatra-text-primary, #1a1a1a);
15 width: 100%;
16 min-height: 100vh;
17 }
18
19 /* Inner container with max-width */
20 .yatra-single-trip > .yatra-trip-hero-new,
21 .yatra-single-trip > .yatra-trip-tags,
22 .yatra-single-trip > .yatra-trip-quick-facts-section,
23 .yatra-single-trip > .yatra-trip-container {
24 width: 100%;
25 max-width: var(--yatra-container-max-width, 1300px);
26 margin-left: auto;
27 margin-right: auto;
28 }
29
30 .yatra-single-trip > * {
31 max-width: 100%;
32 }
33
34 .yatra-single-trip * {
35 box-sizing: border-box;
36 }
37
38 .yatra-single-trip img {
39 max-width: 100%;
40 height: auto;
41 }
42
43 /* ============================================
44 UNIFIED SPACING SYSTEM
45 Consistent spacing across all sections
46 ============================================ */
47
48 /* Spacing Variables - Consistent Design System */
49 :root {
50 --yatra-section-padding: 60px;
51 --yatra-section-gap: 48px;
52 --yatra-container-padding: 20px;
53 --yatra-element-gap: 24px;
54 --yatra-small-gap: 16px;
55 --yatra-tiny-gap: 12px;
56 --yatra-mini-gap: 8px;
57 --yatra-micro-gap: 6px;
58 }
59
60 /* Mobile Responsive Spacing */
61 @media (max-width: 768px) {
62 :root {
63 --yatra-section-padding: 40px;
64 --yatra-section-gap: 32px;
65 --yatra-container-padding: 16px;
66 --yatra-element-gap: 20px;
67 --yatra-small-gap: 12px;
68 --yatra-tiny-gap: 8px;
69 --yatra-mini-gap: 6px;
70 --yatra-micro-gap: 4px;
71 }
72 }
73
74 @media (max-width: 480px) {
75 :root {
76 --yatra-section-padding: 32px;
77 --yatra-section-gap: 24px;
78 --yatra-container-padding: 12px;
79 --yatra-element-gap: 16px;
80 --yatra-small-gap: 12px;
81 --yatra-tiny-gap: 8px;
82 --yatra-mini-gap: 6px;
83 --yatra-micro-gap: 4px;
84 --yatra-hero-mobile-padding-top: 12px;
85 --yatra-hero-mobile-padding-bottom: 16px;
86 }
87 }
88
89 @media (min-width: 481px) and (max-width: 768px) {
90 :root {
91 --yatra-hero-mobile-padding-top: 16px;
92 --yatra-hero-mobile-padding-bottom: 20px;
93 }
94 }
95
96 /* Update main container padding */
97 .yatra-single-trip {
98 padding: 0;
99 }
100
101 /* Unified Container System */
102 .yatra-single-trip > .yatra-trip-hero-new,
103 .yatra-single-trip > .yatra-trip-tags,
104 .yatra-single-trip > .yatra-trip-quick-facts-section,
105 .yatra-single-trip > .yatra-trip-attributes,
106 .yatra-single-trip > .yatra-trip-container,
107 .yatra-single-trip > .yatra-group-discounts-section,
108 .yatra-single-trip > .yatra-similar-section {
109 width: 100%;
110 max-width: var(--yatra-container-max-width, 1300px);
111 margin-left: auto;
112 margin-right: auto;
113 padding-left: var(--yatra-container-padding);
114 padding-right: var(--yatra-container-padding);
115 }
116
117 /* Reviews: descendant selector so width matches .yatra-trip-container even if wrapped; align-self fixes flex parents with align-items:center */
118 .yatra-single-trip .yatra-reviews-section {
119 width: 100%;
120 max-width: var(--yatra-container-max-width, 1300px);
121 margin-left: auto;
122 margin-right: auto;
123 padding-left: var(--yatra-container-padding);
124 padding-right: var(--yatra-container-padding);
125 box-sizing: border-box;
126 align-self: stretch;
127 min-width: 0;
128 }
129
130 /* Unified Section Spacing
131 One rhythm between stacked blocks: previous section’s bottom spacing only.
132 --yatra-section-padding: top of the first block (hero) below the page chrome only.
133 Do not stack padding-top: section-padding on a section that already follows margin/padding-bottom: section-gap. */
134 .yatra-trip-hero-new {
135 padding-top: var(--yatra-section-padding);
136 padding-bottom: var(--yatra-section-gap);
137 }
138
139 .yatra-trip-tags {
140 padding-top: 0;
141 padding-bottom: var(--yatra-section-gap);
142 }
143
144 .yatra-trip-quick-facts-section,
145 .yatra-trip-attributes {
146 padding-top: 0;
147 padding-bottom: var(--yatra-section-gap);
148 background: transparent;
149 }
150
151 .yatra-trip-container {
152 padding-top: 0;
153 padding-bottom: var(--yatra-section-gap);
154 }
155
156 /* When reviews follows the main grid directly, avoid double gap (trip bottom + reviews top) */
157 .yatra-trip-container:has(+ .yatra-reviews-section) {
158 padding-bottom: 0;
159 }
160
161 /* Full-width sections (match template class names) — see also SIMILAR TRIPS / REVIEWS blocks */
162 .yatra-group-discounts-section {
163 padding-top: 0;
164 padding-bottom: var(--yatra-section-gap);
165 }
166
167 /* ============================================
168 COMMON BUTTON STYLES
169 ============================================ */
170 .yatra-btn {
171 display: inline-flex;
172 align-items: center;
173 justify-content: center;
174 gap: 8px;
175 padding: 14px 28px;
176 background: #3b82f6;
177 color: #fff;
178 border: none;
179 border-radius: 8px;
180 font-size: 15px;
181 font-weight: 600;
182 cursor: pointer;
183 text-decoration: none;
184 transition: all 0.3s ease;
185 }
186
187 .yatra-btn svg {
188 flex-shrink: 0;
189 }
190
191 .yatra-btn:hover {
192 background: #2563eb;
193 color: #fff;
194 transform: translateY(-1px);
195 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
196 }
197
198 /* ============================================
199 SVG ICONS
200 ============================================ */
201 .yatra-icon {
202 width: 24px;
203 height: 24px;
204 display: inline-block;
205 flex-shrink: 0;
206 }
207
208 .yatra-icon-sm {
209 width: 20px;
210 height: 20px;
211 }
212
213 .yatra-icon-lg {
214 width: 32px;
215 height: 32px;
216 }
217
218 .yatra-icon-xl {
219 width: 48px;
220 height: 48px;
221 }
222
223 .yatra-booking-button svg,
224 .yatra-booking-enquiry-button svg,
225 .yatra-card-book-btn svg {
226 display: inline-block !important;
227 visibility: visible !important;
228 opacity: 1 !important;
229 color: inherit !important;
230 stroke: currentColor !important;
231 fill: none !important;
232 }
233
234 #check-availability-btn svg,
235 button.yatra-booking-button svg,
236 button.yatra-booking-enquiry-button svg,
237 button.yatra-card-book-btn svg,
238 a.yatra-card-book-btn svg {
239 display: inline-block !important;
240 visibility: visible !important;
241 opacity: 1 !important;
242 width: 18px !important;
243 height: 18px !important;
244 flex-shrink: 0 !important;
245 }
246
247 #check-availability-btn svg,
248 button.yatra-card-book-btn svg,
249 button.yatra-booking-button svg {
250 color: #fff !important;
251 stroke: #fff !important;
252 fill: none !important;
253 stroke-width: 2 !important;
254 }
255
256 .yatra-booking-button svg path,
257 .yatra-booking-enquiry-button svg path,
258 .yatra-card-book-btn svg path {
259 stroke: currentColor !important;
260 }
261
262 #check-availability-btn svg path,
263 button.yatra-card-book-btn svg path,
264 button.yatra-booking-button svg path,
265 button.yatra-booking-enquiry-button svg path {
266 stroke: currentColor !important;
267 }
268
269 #check-availability-btn svg path,
270 button.yatra-card-book-btn svg path,
271 button.yatra-booking-button svg path {
272 stroke: #fff !important;
273 }
274
275 /* ============================================
276 STICKY NAVIGATION BAR
277 ============================================ */
278 .yatra-sticky-nav {
279 background: #fff;
280 border-bottom: 1px solid #e5e7eb;
281 box-shadow: 0 2px 8px rgba(0,0,0,0.05);
282 position: fixed;
283 top: 0;
284 left: 0;
285 right: 0;
286 z-index: 100;
287 transform: translateY(-100%);
288 opacity: 0;
289 transition: transform 0.3s ease, opacity 0.3s ease;
290 pointer-events: none;
291 }
292
293 /* Account for WordPress admin bar */
294 .admin-bar .yatra-sticky-nav {
295 top: 32px;
296 }
297
298 @media screen and (max-width: 782px) {
299 .admin-bar .yatra-sticky-nav {
300 top: 46px;
301 }
302 }
303
304 .yatra-sticky-nav.visible {
305 transform: translateY(0);
306 opacity: 1;
307 pointer-events: auto;
308 }
309
310 .yatra-sticky-nav-container {
311 max-width: var(--yatra-container-max-width, 1300px);
312 margin: 0 auto;
313 padding: 0 var(--yatra-container-padding);
314 display: flex;
315 align-items: center;
316 gap: var(--yatra-element-gap);
317 overflow-x: auto;
318 -webkit-overflow-scrolling: touch;
319 }
320
321 .yatra-sticky-nav-item {
322 display: flex;
323 align-items: center;
324 gap: var(--yatra-mini-gap);
325 padding: 16px 0;
326 color: #6b7280;
327 text-decoration: none;
328 font-size: 14px;
329 font-weight: 500;
330 white-space: nowrap;
331 border-bottom: 3px solid transparent;
332 transition: all 0.3s ease;
333 cursor: pointer;
334 }
335
336 .yatra-sticky-nav-item:hover,
337 .yatra-sticky-nav-item.active {
338 color: #3b82f6;
339 border-bottom-color: #3b82f6;
340 }
341
342 .yatra-sticky-nav-item svg {
343 width: 18px;
344 height: 18px;
345 }
346
347 .yatra-sticky-nav-price {
348 margin-left: auto;
349 display: flex;
350 align-items: center;
351 gap: 8px;
352 padding: 16px 0;
353 color: #3b82f6;
354 font-size: 18px;
355 font-weight: 700;
356 white-space: nowrap;
357 }
358
359 .yatra-sticky-nav-price svg {
360 width: 20px;
361 height: 20px;
362 }
363
364 .yatra-sticky-nav-cta {
365 margin-left: auto;
366 display: flex;
367 align-items: center;
368 }
369
370 .yatra-sticky-nav-cta .yatra-btn {
371 padding: 8px 16px;
372 font-size: 14px;
373 font-weight: 600;
374 white-space: nowrap;
375 }
376
377 .yatra-sticky-nav-cta .yatra-btn-primary {
378 background: #3b82f6;
379 color: white;
380 border-color: #3b82f6;
381 }
382
383 .yatra-sticky-nav-cta .yatra-btn-primary:hover {
384 background: #2563eb;
385 border-color: #2563eb;
386 color: white;
387 }
388
389 /* ============================================
390 NEW HERO SECTION
391 ============================================ */
392 .yatra-trip-hero-new {
393 max-width: 100%;
394 margin: 0 auto;
395 padding-top: var(--yatra-section-padding);
396 padding-bottom: var(--yatra-section-gap);
397 }
398
399 .yatra-hero-header {
400 margin-bottom: 24px;
401 }
402
403 .yatra-hero-breadcrumb {
404 display: flex;
405 align-items: center;
406 gap: 8px;
407 margin-bottom: 12px;
408 font-size: 13px;
409 color: #6b7280;
410 }
411
412 .yatra-hero-breadcrumb a {
413 color: #3b82f6;
414 text-decoration: none;
415 transition: color 0.2s ease;
416 }
417
418 .yatra-hero-breadcrumb a:hover {
419 color: #2563eb;
420 text-decoration: underline;
421 }
422
423 .yatra-hero-breadcrumb-separator {
424 color: #9ca3af;
425 margin: 0 4px;
426 }
427
428 .yatra-hero-breadcrumb-current {
429 color: #374151;
430 font-weight: 500;
431 }
432
433 .yatra-hero-meta {
434 display: flex;
435 align-items: center;
436 flex-wrap: wrap;
437 gap: 12px;
438 margin-bottom: 16px;
439 }
440
441 .yatra-trip-hero-title-new {
442 font-size: 2.5rem;
443 font-weight: 700;
444 color: #111827;
445 margin: 0 0 16px 0;
446 line-height: 1.2;
447 letter-spacing: -0.01em;
448 }
449
450 .yatra-hero-rating {
451 display: flex;
452 align-items: center;
453 gap: 12px;
454 }
455
456 .yatra-hero-location {
457 display: flex;
458 align-items: center;
459 gap: 6px;
460 color: #6b7280;
461 font-size: 15px;
462 font-weight: 500;
463 }
464
465 .yatra-hero-duration {
466 display: flex;
467 align-items: center;
468 gap: 6px;
469 color: #6b7280;
470 font-size: 15px;
471 font-weight: 500;
472 }
473
474 .yatra-rating-stars {
475 display: flex;
476 gap: 2px;
477 font-size: 20px;
478 line-height: 1;
479 }
480
481 /* Do not set gold on the container — it made every star look filled. Empty = gray, .filled = gold. */
482 .yatra-rating-stars > .yatra-star,
483 .yatra-rating-stars .yatra-star {
484 display: inline-block;
485 font-size: 20px;
486 color: #d1d5db;
487 }
488
489 .yatra-rating-stars .yatra-star.filled {
490 color: var(--yatra-star, #fbbf24);
491 }
492
493 .yatra-no-rating .yatra-star {
494 color: #d1d5db;
495 }
496
497 .yatra-no-reviews {
498 color: #9ca3af;
499 font-style: italic;
500 }
501
502 .yatra-rating-stars .yatra-star.half {
503 background: linear-gradient(
504 90deg,
505 var(--yatra-star, #fbbf24) 50%,
506 #d1d5db 50%
507 );
508 -webkit-background-clip: text;
509 -webkit-text-fill-color: transparent;
510 background-clip: text;
511 color: transparent;
512 }
513
514 .yatra-rating-number {
515 font-size: 18px;
516 font-weight: 700;
517 color: #111827;
518 }
519
520 .yatra-rating-text {
521 font-size: 14px;
522 color: #6b7280;
523 }
524
525 .yatra-hero-images {
526 display: grid;
527 grid-template-columns: 3fr 1fr;
528 gap: 16px;
529 margin-bottom: 24px;
530 align-items: start;
531 width: 100%;
532 }
533
534 .yatra-hero-main-image {
535 position: relative;
536 border-radius: 16px;
537 overflow: hidden;
538 background: #f3f4f6;
539 width: 100%;
540 height: 500px;
541 }
542
543
544 /* Hero Media Badges */
545 .yatra-hero-media-badges {
546 position: absolute;
547 top: 15px;
548 left: 15px;
549 display: flex;
550 gap: 8px;
551 z-index: 10;
552 }
553
554 .yatra-media-badge {
555 display: inline-flex;
556 align-items: center;
557 gap: 4px;
558 background: rgba(0, 0, 0, 0.7);
559 color: white;
560 padding: 6px 10px;
561 border-radius: 20px;
562 font-size: 12px;
563 font-weight: 500;
564 backdrop-filter: blur(4px);
565 transition: all 0.3s ease;
566 }
567
568 .yatra-media-badge:hover {
569 background: rgba(0, 0, 0, 0.85);
570 transform: translateY(-1px);
571 }
572
573 .yatra-media-badge-icon {
574 width: 14px !important;
575 height: 14px !important;
576 flex-shrink: 0;
577 }
578
579 .yatra-media-badge-icon svg {
580 width: 100% !important;
581 height: 100% !important;
582 display: block !important;
583 }
584
585 .yatra-media-badge-count {
586 font-weight: 600;
587 }
588
589 /* Media Type Specific Colors */
590 .yatra-media-badge-image {
591 background: rgba(59, 130, 246, 0.8);
592 }
593
594 .yatra-media-badge-video {
595 background: rgba(239, 68, 68, 0.8);
596 }
597
598 .yatra-media-badge-youtube {
599 background: rgba(255, 0, 0, 0.8);
600 }
601
602 .yatra-media-badge-tour {
603 background: rgba(16, 185, 129, 0.8);
604 }
605
606 .yatra-media-badge-document {
607 background: rgba(245, 158, 11, 0.8);
608 }
609
610 /* Hero Media Switcher */
611 .yatra-hero-media-switcher {
612 position: absolute;
613 bottom: 15px;
614 left: 15px;
615 display: flex;
616 gap: 8px;
617 z-index: 10;
618 }
619
620 .yatra-media-switcher-btn {
621 display: flex;
622 align-items: center;
623 gap: 6px;
624 background: rgba(255, 255, 255, 0.9);
625 border: 1px solid rgba(0, 0, 0, 0.2);
626 color: #374151;
627 padding: 8px 12px;
628 border-radius: 20px;
629 font-size: 12px;
630 font-weight: 500;
631 cursor: pointer;
632 transition: all 0.3s ease;
633 backdrop-filter: blur(4px);
634 }
635
636 .yatra-media-switcher-btn:hover {
637 background: rgba(255, 255, 255, 0.95);
638 transform: translateY(-1px);
639 }
640
641 .yatra-media-switcher-btn.yatra-media-switcher-active {
642 background: #3b82f6;
643 color: white;
644 border-color: #3b82f6;
645 }
646
647 .yatra-media-switcher-icon {
648 width: 16px !important;
649 height: 16px !important;
650 flex-shrink: 0;
651 }
652
653 .yatra-media-switcher-icon svg {
654 width: 100% !important;
655 height: 100% !important;
656 display: block !important;
657 }
658
659 /* Hero Image Dark Overlay */
660 .yatra-hero-main-img-link::before {
661 content: '';
662 position: absolute;
663 top: 0;
664 left: 0;
665 right: 0;
666 bottom: 0;
667 background: rgba(0, 0, 0, 0.15);
668 z-index: 1;
669 pointer-events: none;
670 transition: background 0.3s ease;
671 }
672
673 .yatra-hero-main-img-link:hover::before {
674 background: rgba(0, 0, 0, 0.25);
675 }
676
677 /* Media Overlays */
678 .yatra-media-overlay {
679 position: absolute;
680 top: 0;
681 left: 0;
682 right: 0;
683 bottom: 0;
684 display: flex;
685 align-items: center;
686 justify-content: center;
687 cursor: pointer;
688 z-index: 5;
689 }
690
691 .yatra-play-button {
692 cursor: pointer;
693 transition: transform 0.3s ease;
694 }
695
696 .yatra-play-button:hover {
697 transform: scale(1.1);
698 }
699
700 .yatra-document-overlay {
701 background: rgba(0, 0, 0, 0.5);
702 }
703
704 .yatra-document-info {
705 display: flex;
706 align-items: center;
707 gap: 16px;
708 padding: 20px;
709 color: white;
710 text-align: left;
711 }
712
713 .yatra-document-icon {
714 flex-shrink: 0;
715 }
716
717 .yatra-document-details {
718 flex: 1;
719 }
720
721 .yatra-document-title {
722 font-size: 16px;
723 font-weight: 600;
724 margin-bottom: 4px;
725 line-height: 1.2;
726 }
727
728 .yatra-document-size {
729 font-size: 14px;
730 opacity: 0.8;
731 }
732
733 /* Play Button Overlay Styles */
734 .yatra-media-play-overlay {
735 pointer-events: auto;
736 cursor: pointer;
737 }
738
739 /* YouTube Overlay Styles */
740 .yatra-media-youtube-overlay {
741 background: rgba(0, 0, 0, 0.4);
742 display: flex;
743 align-items: center;
744 justify-content: center;
745 pointer-events: auto;
746 cursor: pointer;
747 }
748
749 .yatra-youtube-play-button {
750 cursor: pointer;
751 transition: all 0.3s ease;
752 filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
753 }
754
755 .yatra-youtube-play-button:hover {
756 transform: scale(1.15);
757 filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.4));
758 }
759
760 .yatra-youtube-play-button svg {
761 display: block;
762 }
763
764 /* 360° Tour Overlay Styles */
765 .yatra-media-tour-overlay {
766 background: rgba(0, 0, 0, 0.5);
767 display: flex;
768 align-items: center;
769 justify-content: center;
770 pointer-events: auto;
771 cursor: pointer;
772 }
773
774 .yatra-tour-info {
775 display: flex;
776 flex-direction: column;
777 align-items: center;
778 gap: 16px;
779 padding: 24px;
780 color: white;
781 text-align: center;
782 background: rgba(16, 185, 129, 0.15);
783 border-radius: 16px;
784 border: 2px solid rgba(16, 185, 129, 0.4);
785 backdrop-filter: blur(8px);
786 max-width: 300px;
787 }
788
789 .yatra-tour-icon {
790 flex-shrink: 0;
791 filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
792 }
793
794 .yatra-tour-details {
795 flex: 1;
796 }
797
798 .yatra-tour-type {
799 font-size: 15px;
800 opacity: 0.9;
801 margin-bottom: 12px;
802 color: rgba(255, 255, 255, 0.9);
803 }
804
805 .yatra-tour-action {
806 font-size: 14px;
807 font-weight: 600;
808 padding: 10px 20px;
809 background: rgba(16, 185, 129, 0.9);
810 border-radius: 24px;
811 border: 2px solid rgba(255, 255, 255, 0.3);
812 color: white;
813 transition: all 0.3s ease;
814 }
815
816 .yatra-tour-info:hover .yatra-tour-action {
817 background: rgba(16, 185, 129, 1);
818 transform: scale(1.05);
819 }
820
821 /* Responsive adjustments */
822 @media (max-width: 768px) {
823 .yatra-hero-media-badges {
824 top: 10px;
825 left: 10px;
826 gap: 6px;
827 }
828
829 .yatra-media-badge {
830 padding: 4px 8px;
831 font-size: 11px;
832 }
833
834 .yatra-hero-media-switcher {
835 bottom: 10px;
836 left: 10px;
837 gap: 6px;
838 flex-wrap: wrap;
839 }
840
841 .yatra-media-switcher-btn {
842 padding: 6px 10px;
843 font-size: 11px;
844 }
845
846 .yatra-media-switcher-icon {
847 width: 14px !important;
848 height: 14px !important;
849 }
850
851 /* Responsive overlays */
852 .yatra-youtube-play-button svg {
853 width: 70px !important;
854 height: 70px !important;
855 }
856
857 .yatra-tour-info {
858 max-width: 250px;
859 padding: 20px;
860 gap: 12px;
861 }
862
863 .yatra-tour-icon svg {
864 width: 60px !important;
865 height: 60px !important;
866 }
867
868 .yatra-tour-title {
869 font-size: 18px;
870 }
871
872 .yatra-tour-type {
873 font-size: 14px;
874 }
875
876 .yatra-tour-action {
877 font-size: 13px;
878 padding: 8px 16px;
879 }
880 }
881
882 @media (max-width: 480px) {
883 .yatra-hero-media-badges {
884 top: 8px;
885 left: 8px;
886 gap: 4px;
887 }
888
889 .yatra-media-badge {
890 padding: 3px 6px;
891 font-size: 10px;
892 }
893
894 .yatra-hero-media-switcher {
895 bottom: 8px;
896 left: 8px;
897 right: 8px;
898 gap: 4px;
899 }
900
901 .yatra-media-switcher-btn {
902 padding: 5px 8px;
903 font-size: 10px;
904 flex: 1;
905 justify-content: center;
906 }
907
908 .yatra-media-switcher-btn span {
909 display: none;
910 }
911
912 .yatra-media-switcher-icon {
913 width: 16px !important;
914 height: 16px !important;
915 margin: 0;
916 }
917
918 /* Smaller overlays for mobile */
919 .yatra-youtube-play-button svg {
920 width: 60px !important;
921 height: 60px !important;
922 }
923
924 .yatra-tour-info {
925 max-width: 200px;
926 padding: 16px;
927 gap: 10px;
928 }
929
930 .yatra-tour-icon svg {
931 width: 50px !important;
932 height: 50px !important;
933 }
934
935 .yatra-tour-title {
936 font-size: 16px;
937 }
938
939 .yatra-tour-type {
940 font-size: 13px;
941 }
942
943 .yatra-tour-action {
944 font-size: 12px;
945 padding: 6px 12px;
946 }
947 }
948
949 /* Hide side images for non-image media types */
950 .yatra-hero-side-images {
951 transition: opacity 0.3s ease, width 0.3s ease;
952 }
953
954 .yatra-hero-side-images.yatra-media-non-image {
955 display: none;
956 }
957
958 /* Make main image full width when side images are hidden */
959 .yatra-hero-images.yatra-media-full-width .yatra-hero-main-image {
960 grid-column: 1 / -1;
961 }
962
963 /* Book Now Button Container - Right Side */
964 .yatra-hero-book-now-container {
965 position: absolute;
966 bottom: 20px;
967 right: 20px;
968 z-index: 10;
969 }
970
971 .yatra-hero-book-now-btn {
972 display: flex;
973 align-items: center;
974 gap: 8px;
975 background: #3b82f6;
976 color: white;
977 padding: 12px 20px;
978 border-radius: 8px;
979 text-decoration: none;
980 font-weight: 600;
981 font-size: 14px;
982 transition: all 0.3s ease;
983 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
984 }
985
986 .yatra-hero-book-now-btn:hover {
987 background: #2563eb;
988 transform: translateY(-2px);
989 box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
990 }
991
992 /* Responsive adjustments for Book Now button */
993 @media (max-width: 768px) {
994 .yatra-hero-book-now-container {
995 bottom: 10px;
996 right: 10px;
997 }
998
999 .yatra-hero-book-now-btn {
1000 padding: 10px 16px;
1001 font-size: 13px;
1002 }
1003 }
1004
1005 /* Video Player and Tour Viewer modules are loaded separately */
1006
1007
1008 .yatra-hero-main-img {
1009 width: 100%;
1010 height: 100%;
1011 object-fit: cover;
1012 display: block;
1013 }
1014
1015 .yatra-hero-discount-tag {
1016 position: absolute;
1017 top: 16px;
1018 right: 16px;
1019 background: #ef4444;
1020 color: #fff;
1021 padding: 5px 10px;
1022 border-radius: 6px;
1023 font-size: 14px;
1024 font-weight: 700;
1025 text-transform: uppercase;
1026 letter-spacing: 0.5px;
1027 z-index: 10;
1028 box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
1029 }
1030
1031 .yatra-hero-book-now-btn {
1032 background: #10b981;
1033 color: #fff;
1034 border: none;
1035 padding: 14px 28px;
1036 border-radius: 8px;
1037 font-size: 16px;
1038 font-weight: 700;
1039 cursor: pointer;
1040 text-decoration: none;
1041 display: inline-flex;
1042 align-items: center;
1043 justify-content: center;
1044 gap: 8px;
1045 transition: all 0.3s ease;
1046 z-index: 10;
1047 box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
1048 }
1049
1050 .yatra-hero-book-now-btn svg {
1051 flex-shrink: 0;
1052 }
1053
1054 .yatra-hero-book-now-btn:hover {
1055 background: #059669;
1056 transform: translateY(-2px);
1057 box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
1058 color: #fff;
1059 }
1060
1061 .yatra-hero-side-images {
1062 display: flex;
1063 flex-direction: column;
1064 gap: 16px;
1065 height: 500px;
1066 align-items: stretch;
1067 }
1068
1069 .yatra-side-image-item {
1070 position: relative;
1071 border-radius: 12px;
1072 overflow: hidden;
1073 background: #f3f4f6;
1074 cursor: pointer;
1075 transition: transform 0.3s ease;
1076 width: 100%;
1077 flex: 1;
1078 min-height: 0;
1079 display: flex;
1080 }
1081
1082 .yatra-side-image-item img {
1083 width: 100%;
1084 height: 100%;
1085 object-fit: cover;
1086 display: block;
1087 }
1088
1089 .yatra-side-image-item:hover {
1090 transform: scale(1.02);
1091 }
1092
1093 .yatra-favorite-btn {
1094 position: absolute !important;
1095 top: 12px !important;
1096 right: 12px !important;
1097 width: 40px !important;
1098 height: 40px !important;
1099 background: #ffffff !important;
1100 border: 1px solid rgba(0, 0, 0, 0.1) !important;
1101 border-radius: 50% !important;
1102 display: flex !important;
1103 align-items: center !important;
1104 justify-content: center !important;
1105 cursor: pointer !important;
1106 color: #6b7280 !important;
1107 transition: all 0.3s ease !important;
1108 z-index: 100 !important;
1109 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
1110 padding: 0 !important;
1111 margin: 0 !important;
1112 opacity: 1 !important;
1113 visibility: visible !important;
1114 }
1115
1116 .yatra-favorite-btn:hover {
1117 background: #ffffff !important;
1118 color: #ef4444 !important;
1119 transform: scale(1.1) !important;
1120 border-color: #ef4444 !important;
1121 box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3) !important;
1122 }
1123
1124 .yatra-favorite-btn svg {
1125 width: 20px !important;
1126 height: 20px !important;
1127 stroke-width: 2 !important;
1128 display: block !important;
1129 fill: none !important;
1130 }
1131
1132 .yatra-favorite-btn svg path {
1133 stroke: currentColor !important;
1134 }
1135
1136 .yatra-view-all-photos-btn {
1137 position: absolute;
1138 bottom: 12px;
1139 right: 12px;
1140 background: #fff;
1141 color: #111827;
1142 border: none;
1143 padding: 10px 16px;
1144 border-radius: 8px;
1145 font-size: 13px;
1146 font-weight: 600;
1147 cursor: pointer;
1148 display: flex;
1149 align-items: center;
1150 gap: 6px;
1151 transition: all 0.3s ease;
1152 z-index: 10;
1153 box-shadow: 0 2px 8px rgba(0,0,0,0.15);
1154 }
1155
1156 .yatra-view-all-photos-btn:hover {
1157 background: #f9fafb;
1158 color: #111827;
1159 transform: translateY(-2px);
1160 box-shadow: 0 4px 12px rgba(0,0,0,0.2);
1161 }
1162
1163 .yatra-view-all-photos-btn svg {
1164 width: 16px;
1165 height: 16px;
1166 }
1167
1168
1169 /* ============================================
1170 OLD HERO SECTION (keeping for reference)
1171 ============================================ */
1172 .yatra-trip-hero {
1173 position: relative;
1174 width: 100%;
1175 height: 70vh;
1176 min-height: 600px;
1177 max-height: 800px;
1178 overflow: hidden;
1179 background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
1180 }
1181
1182 .yatra-trip-hero-slider {
1183 width: 100%;
1184 height: 100%;
1185 position: relative;
1186 }
1187
1188 .yatra-trip-hero-slide {
1189 position: absolute;
1190 top: 0;
1191 left: 0;
1192 width: 100%;
1193 height: 100%;
1194 opacity: 0;
1195 transition: opacity 0.8s ease-in-out;
1196 }
1197
1198 .yatra-trip-hero-slide.active {
1199 opacity: 1;
1200 z-index: 1;
1201 }
1202
1203 .yatra-trip-hero-image {
1204 width: 100%;
1205 height: 100%;
1206 object-fit: cover;
1207 display: block;
1208 }
1209
1210 .yatra-trip-hero-overlay {
1211 position: absolute;
1212 top: 0;
1213 left: 0;
1214 right: 0;
1215 bottom: 0;
1216 background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 100%);
1217 display: flex;
1218 align-items: center;
1219 justify-content: flex-start;
1220 padding: 60px 20px;
1221 z-index: 2;
1222 }
1223
1224 .yatra-trip-hero-content {
1225 max-width: 1200px;
1226 width: 100%;
1227 margin: 0 auto;
1228 color: #fff;
1229 position: relative;
1230 text-align: left;
1231 }
1232
1233 .yatra-trip-hero-badges {
1234 display: flex;
1235 flex-wrap: wrap;
1236 gap: 12px;
1237 margin-bottom: 20px;
1238 justify-content: flex-start;
1239 }
1240
1241 .yatra-trip-hero-badge {
1242 display: inline-flex;
1243 align-items: center;
1244 gap: 6px;
1245 padding: 8px 16px;
1246 background: rgba(255,255,255,0.15);
1247 backdrop-filter: blur(10px);
1248 border-radius: 24px;
1249 font-size: 13px;
1250 font-weight: 600;
1251 text-transform: uppercase;
1252 letter-spacing: 0.5px;
1253 border: 1px solid rgba(255,255,255,0.2);
1254 }
1255
1256 .yatra-trip-hero-title {
1257 font-size: 3.75rem;
1258 font-weight: 800;
1259 line-height: 1.1;
1260 margin: 0 0 20px 0;
1261 text-shadow: 0 2px 20px rgba(0,0,0,0.4);
1262 letter-spacing: -0.02em;
1263 text-align: left;
1264 }
1265
1266 .yatra-trip-hero-subtitle {
1267 font-size: 1.375rem;
1268 font-weight: 400;
1269 opacity: 0.95;
1270 margin: 0 0 32px 0;
1271 max-width: 800px;
1272 line-height: 1.6;
1273 text-align: left;
1274 }
1275
1276 .yatra-trip-hero-actions {
1277 display: flex;
1278 gap: 16px;
1279 flex-wrap: wrap;
1280 margin: 0;
1281 justify-content: flex-start;
1282 }
1283
1284 .yatra-hero-button {
1285 padding: 14px 32px;
1286 border-radius: 8px;
1287 font-size: 16px;
1288 font-weight: 600;
1289 text-decoration: none;
1290 display: inline-flex;
1291 align-items: center;
1292 gap: 8px;
1293 transition: all 0.3s ease;
1294 border: 2px solid transparent;
1295 }
1296
1297 .yatra-hero-button-primary {
1298 background: #fff;
1299 color: #1e3a8a;
1300 border-color: #fff;
1301 }
1302
1303 .yatra-hero-button-primary:hover {
1304 background: #f0f0f0;
1305 transform: translateY(-2px);
1306 box-shadow: 0 8px 25px rgba(0,0,0,0.2);
1307 }
1308
1309 .yatra-hero-button-secondary {
1310 background: transparent;
1311 color: #fff;
1312 border-color: rgba(255,255,255,0.5);
1313 }
1314
1315 .yatra-hero-button-secondary:hover {
1316 background: rgba(255,255,255,0.1);
1317 border-color: #fff;
1318 }
1319
1320 .yatra-gallery-count {
1321 font-size: 14px;
1322 opacity: 0.9;
1323 font-weight: 500;
1324 }
1325
1326 .yatra-hero-gallery-play {
1327 position: absolute;
1328 bottom: 40px;
1329 right: 40px;
1330 z-index: 10;
1331 background: rgba(255,255,255,0.95);
1332 backdrop-filter: blur(10px);
1333 border: 2px solid rgba(255,255,255,0.3);
1334 border-radius: 50%;
1335 width: 80px;
1336 height: 80px;
1337 display: flex;
1338 flex-direction: column;
1339 align-items: center;
1340 justify-content: center;
1341 gap: 4px;
1342 cursor: pointer;
1343 transition: all 0.3s ease;
1344 color: #3b82f6;
1345 box-shadow: 0 4px 20px rgba(0,0,0,0.2);
1346 }
1347
1348 .yatra-hero-gallery-play:hover {
1349 background: #fff;
1350 transform: scale(1.1);
1351 box-shadow: 0 6px 30px rgba(0,0,0,0.3);
1352 }
1353
1354 .yatra-hero-gallery-play svg {
1355 width: 32px;
1356 height: 32px;
1357 }
1358
1359 .yatra-hero-gallery-play span {
1360 font-size: 11px;
1361 font-weight: 600;
1362 text-transform: uppercase;
1363 letter-spacing: 0.5px;
1364 margin-top: 2px;
1365 }
1366
1367 .yatra-gallery-play-btn {
1368 cursor: pointer;
1369 border: none;
1370 font-family: inherit;
1371 }
1372
1373
1374
1375 .yatra-trip-tags-container {
1376 display: flex;
1377 flex-wrap: wrap;
1378 gap: var(--yatra-element-gap);
1379 align-items: center;
1380 }
1381
1382 .yatra-trip-tag {
1383 display: flex;
1384 align-items: center;
1385 gap: 8px;
1386 padding: 8px 16px;
1387 background: #e5e7eb;
1388 border-radius: 20px;
1389 font-size: 14px;
1390 }
1391
1392 .yatra-trip-tag-label {
1393 color: #6b7280;
1394 font-weight: 600;
1395 text-transform: uppercase;
1396 font-size: 11px;
1397 letter-spacing: 0.5px;
1398 }
1399
1400 .yatra-trip-tag-value {
1401 color: #111827;
1402 font-weight: 500;
1403 }
1404
1405 .yatra-trip-tag-value a {
1406 color: #059669;
1407 text-decoration: none;
1408 transition: color 0.2s ease;
1409 }
1410
1411 .yatra-trip-tag-value a:hover {
1412 color: #047857;
1413 text-decoration: underline;
1414 }
1415
1416
1417 /* ============================================
1418 SPEC SHEET WRAPPER — white ring so hairline grid never bleeds into rounded corners
1419 (Gray “caps” / holes happen when line-color fills the grid box under border-radius.)
1420 ============================================ */
1421 .yatra-spec-sheet {
1422 --yatra-spec-line: #d6d3d1;
1423 border: 1px solid var(--yatra-spec-line);
1424 border-radius: 12px;
1425 background: #fff;
1426 padding: 1px;
1427 box-sizing: border-box;
1428 overflow: hidden;
1429 }
1430
1431 .yatra-spec-sheet--quick-facts {
1432 width: 100%;
1433 margin: 0;
1434 }
1435
1436 /* Same as .yatra-trip-attributes .yatra-spec-sheet: inner card fills the padded shell */
1437 .yatra-trip-quick-facts-section .yatra-spec-sheet--quick-facts {
1438 width: 100%;
1439 }
1440
1441 .yatra-trip-attributes .yatra-spec-sheet--attributes-grid {
1442 width: 100%;
1443 }
1444
1445 /* Inner grid: 1px gaps only — line color never touches the outer rounded clip */
1446 .yatra-spec-sheet > .yatra-trip-quick-facts,
1447 .yatra-spec-sheet > .yatra-attributes-grid {
1448 width: 100%;
1449 display: grid;
1450 grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
1451 gap: 1px;
1452 align-items: stretch;
1453 padding: 0;
1454 margin: 0;
1455 background: var(--yatra-spec-line, #d6d3d1);
1456 border: none;
1457 border-radius: 11px;
1458 overflow: hidden;
1459 }
1460
1461 .yatra-spec-sheet > .yatra-attributes-grid {
1462 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
1463 }
1464
1465 /* ============================================
1466 QUICK FACTS BAR — neutral “spec sheet” (no tinted icon wells)
1467 ============================================ */
1468 .yatra-trip-quick-facts {
1469 width: 100%;
1470 }
1471
1472 .yatra-quick-fact {
1473 display: flex;
1474 flex-direction: row;
1475 align-items: flex-start;
1476 text-align: left;
1477 gap: 12px;
1478 padding: 14px 16px;
1479 background: #fff;
1480 border: none;
1481 border-radius: 0;
1482 transition: background-color 0.15s ease;
1483 min-width: 0;
1484 min-height: 100%;
1485 box-sizing: border-box;
1486 align-self: stretch;
1487 }
1488
1489 .yatra-quick-fact:hover {
1490 background: #fafaf9;
1491 }
1492
1493 .yatra-quick-fact-icon {
1494 width: auto;
1495 height: auto;
1496 min-width: 28px;
1497 min-height: 28px;
1498 padding: 0;
1499 background: transparent;
1500 border-radius: 0;
1501 display: flex;
1502 align-items: center;
1503 justify-content: center;
1504 color: #57534e;
1505 flex-shrink: 0;
1506 overflow: visible;
1507 }
1508
1509 .yatra-quick-fact-icon svg {
1510 display: block;
1511 width: 22px;
1512 height: 22px;
1513 min-width: 22px;
1514 min-height: 22px;
1515 flex-shrink: 0;
1516 overflow: visible;
1517 opacity: 0.92;
1518 }
1519
1520 .yatra-quick-fact-icon svg[fill="none"] {
1521 stroke: currentColor;
1522 }
1523
1524 .yatra-quick-fact-icon svg[fill="currentColor"] {
1525 stroke: none;
1526 opacity: 1;
1527 }
1528
1529 .yatra-quick-fact-content {
1530 flex: 1;
1531 min-width: 0;
1532 padding-top: 1px;
1533 }
1534
1535 .yatra-quick-fact-label {
1536 font-size: 11px;
1537 color: #78716c;
1538 text-transform: none;
1539 letter-spacing: 0.01em;
1540 margin-bottom: 3px;
1541 font-weight: 500;
1542 line-height: 1.25;
1543 display: block;
1544 }
1545
1546 .yatra-quick-fact-value {
1547 font-size: 15px;
1548 font-weight: 600;
1549 color: #1c1917;
1550 margin: 0;
1551 line-height: 1.35;
1552 display: block;
1553 }
1554
1555 .yatra-trip-quick-facts .yatra-price-current {
1556 color: #059669;
1557 font-weight: 600;
1558 }
1559
1560 .yatra-trip-quick-facts .yatra-price-original {
1561 color: #94a3b8;
1562 text-decoration: line-through;
1563 font-weight: 400;
1564 font-size: 0.88em;
1565 margin-left: 4px;
1566 }
1567
1568 .yatra-trip-quick-facts .yatra-rating-display {
1569 display: flex;
1570 align-items: center;
1571 gap: 6px;
1572 flex-wrap: wrap;
1573 }
1574
1575 .yatra-trip-quick-facts .yatra-rating-number {
1576 font-weight: 700;
1577 color: #0f172a;
1578 }
1579
1580 .yatra-trip-quick-facts .yatra-rating-stars {
1581 display: inline-flex;
1582 gap: 1px;
1583 font-size: 0.85rem;
1584 line-height: 1;
1585 }
1586
1587 .yatra-trip-quick-facts .star-filled {
1588 color: #fbbf24;
1589 }
1590
1591 .yatra-trip-quick-facts .star-empty {
1592 color: #cbd5e1;
1593 }
1594
1595 .yatra-trip-quick-facts .yatra-review-count {
1596 font-size: 12px;
1597 color: #64748b;
1598 font-weight: 500;
1599 }
1600
1601 .yatra-quick-fact-price {
1602 font-size: 15px;
1603 font-weight: 600;
1604 color: #1c1917;
1605 line-height: 1.35;
1606 margin: 0;
1607 display: block;
1608 }
1609
1610 .yatra-quick-fact-price-label {
1611 font-size: 10px;
1612 color: #94a3b8;
1613 font-weight: 400;
1614 margin-top: 2px;
1615 display: block;
1616 }
1617
1618 /* ============================================
1619 MAIN CONTAINER
1620 ============================================ */
1621 .yatra-trip-container {
1622 display: grid;
1623 grid-template-columns: 1fr 400px;
1624 gap: var(--yatra-section-gap);
1625 align-items: start;
1626 padding-top: 0;
1627 }
1628
1629 /* ============================================
1630 MAIN CONTENT
1631 ============================================ */
1632 .yatra-trip-main {
1633 min-width: 0;
1634 }
1635
1636 /* Sidebar Column */
1637 .yatra-trip-sidebar-column {
1638 min-width: 0;
1639 width: 100%;
1640 }
1641
1642 .yatra-trip-sidebar-column .yatra-trip-sidebar {
1643 position: sticky;
1644 top: 0;
1645 height: fit-content;
1646 }
1647
1648 .yatra-trip-section {
1649 background: #ffffff;
1650 border-radius: 8px;
1651 padding: 40px;
1652 margin-bottom: 24px;
1653 border: 1px solid #e5e7eb;
1654 }
1655
1656 .yatra-trip-section-title {
1657 font-size: 28px;
1658 font-weight: 600;
1659 color: #111827;
1660 margin: 0 0 24px 0;
1661 display: flex;
1662 align-items: center;
1663 gap: 12px;
1664 line-height: 1.2;
1665 }
1666
1667 .yatra-trip-section-title-icon {
1668 width: 24px;
1669 height: 24px;
1670 color: #6b7280;
1671 flex-shrink: 0;
1672 }
1673
1674 /* ============================================
1675 OVERVIEW & HIGHLIGHTS
1676 ============================================ */
1677 .yatra-trip-description {
1678 font-size: 17px;
1679 line-height: 1.8;
1680 color: #374151;
1681 margin-bottom: 40px;
1682 }
1683
1684 .yatra-trip-description p {
1685 margin-bottom: 20px;
1686 }
1687
1688 .yatra-trip-description p:last-child {
1689 margin-bottom: 0;
1690 }
1691
1692 /* Lead / excerpt above full description (overview tab) */
1693 .yatra-trip-short-description-lead {
1694 font-size: 1.125rem;
1695 line-height: 1.7;
1696 color: #475569;
1697 font-weight: 500;
1698 margin-bottom: 24px;
1699 padding: 20px;
1700 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
1701 border-radius: 12px;
1702 border-left: 4px solid #3b82f6;
1703 }
1704
1705 @media (prefers-color-scheme: dark) {
1706 .yatra-trip-short-description-lead {
1707 color: #cbd5e1;
1708 background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
1709 border-left-color: #60a5fa;
1710 }
1711 }
1712
1713 @media (max-width: 768px) {
1714 .yatra-trip-short-description-lead {
1715 font-size: 1rem;
1716 padding: 16px;
1717 margin-bottom: 20px;
1718 }
1719 }
1720
1721 .yatra-trip-highlights {
1722 display: grid;
1723 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1724 gap: 20px;
1725 margin-top: 40px;
1726 }
1727
1728 .yatra-highlight-item {
1729 display: flex;
1730 align-items: flex-start;
1731 gap: 16px;
1732 padding: 20px;
1733 background: #f9fafb;
1734 border-radius: 12px;
1735 border-left: 4px solid #3b82f6;
1736 transition: all 0.3s ease;
1737 }
1738
1739 .yatra-highlight-item:hover {
1740 background: #f3f4f6;
1741 transform: translateX(4px);
1742 }
1743
1744 .yatra-highlight-icon {
1745 width: 24px;
1746 height: 24px;
1747 color: #3b82f6;
1748 flex-shrink: 0;
1749 margin-top: 2px;
1750 }
1751
1752 .yatra-highlight-text {
1753 flex: 1;
1754 font-size: 15px;
1755 color: #111827;
1756 margin: 0;
1757 line-height: 1.6;
1758 }
1759
1760 /* ============================================
1761 KEY FEATURES GRID
1762 ============================================ */
1763 .yatra-trip-features {
1764 display: grid;
1765 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1766 gap: 24px;
1767 margin-top: 32px;
1768 }
1769
1770 .yatra-feature-card {
1771 text-align: center;
1772 padding: 24px;
1773 background: #f9fafb;
1774 border-radius: 12px;
1775 border: 1px solid #e5e7eb;
1776 transition: all 0.3s ease;
1777 }
1778
1779 .yatra-feature-card:hover {
1780 background: #fff;
1781 border-color: #3b82f6;
1782 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
1783 transform: translateY(-4px);
1784 }
1785
1786 .yatra-feature-icon {
1787 width: 48px;
1788 height: 48px;
1789 margin: 0 auto 12px;
1790 color: #3b82f6;
1791 }
1792
1793 .yatra-feature-title {
1794 font-size: 16px;
1795 font-weight: 600;
1796 color: #111827;
1797 margin: 0 0 8px 0;
1798 }
1799
1800 .yatra-feature-desc {
1801 font-size: 14px;
1802 color: #6b7280;
1803 margin: 0;
1804 line-height: 1.5;
1805 }
1806
1807 /* ============================================
1808 ITINERARY - New Timeline Design
1809 ============================================ */
1810
1811 /* Section Header with Actions */
1812 .yatra-section-header-with-actions {
1813 display: flex;
1814 align-items: center;
1815 justify-content: space-between;
1816 gap: 20px;
1817 margin-bottom: 24px;
1818 flex-wrap: wrap;
1819 }
1820
1821 .yatra-section-header-with-actions .yatra-trip-section-title {
1822 margin-bottom: 0;
1823 }
1824
1825 .yatra-itinerary-actions {
1826 display: flex;
1827 gap: 12px;
1828 }
1829
1830 .yatra-toggle-all-btn {
1831 display: inline-flex;
1832 align-items: center;
1833 gap: 6px;
1834 padding: 8px 16px;
1835 background: #fff;
1836 border: 1px solid #e5e7eb;
1837 border-radius: 8px;
1838 font-size: 13px;
1839 font-weight: 500;
1840 color: #374151;
1841 cursor: pointer;
1842 transition: all 0.2s;
1843 }
1844
1845 .yatra-toggle-all-btn:hover {
1846 background: #f3f4f6;
1847 border-color: #d1d5db;
1848 }
1849
1850 .yatra-toggle-all-btn svg {
1851 color: #6b7280;
1852 }
1853
1854 .yatra-itinerary-timeline {
1855 display: flex;
1856 flex-direction: column;
1857 gap: 24px;
1858 }
1859
1860 .yatra-itinerary-day {
1861 background: #fff;
1862 border: 1px solid #e5e7eb;
1863 border-radius: 8px;
1864 overflow: hidden;
1865 }
1866
1867 .yatra-itinerary-day-header {
1868 display: flex;
1869 align-items: center;
1870 gap: 16px;
1871 padding: 16px 20px;
1872 background: #f9fafb;
1873 border-bottom: 1px solid #e5e7eb;
1874 cursor: pointer;
1875 transition: background 0.2s ease;
1876 }
1877
1878 .yatra-itinerary-day-header:hover {
1879 background: #f3f4f6;
1880 }
1881
1882 .yatra-day-badge {
1883 font-size: 14px;
1884 font-weight: 700;
1885 color: #fff;
1886 background: #3b82f6;
1887 padding: 6px 14px;
1888 border-radius: 6px;
1889 white-space: nowrap;
1890 }
1891
1892 .yatra-day-title {
1893 font-size: 18px;
1894 font-weight: 600;
1895 color: #111827;
1896 margin: 0;
1897 flex: 1;
1898 }
1899
1900 .yatra-day-toggle {
1901 width: 36px;
1902 height: 36px;
1903 min-width: 36px;
1904 display: flex !important;
1905 align-items: center;
1906 justify-content: center;
1907 background: #fff;
1908 border: 1px solid #e5e7eb;
1909 border-radius: 8px;
1910 cursor: pointer;
1911 transition: all 0.2s;
1912 flex-shrink: 0;
1913 padding: 0;
1914 }
1915
1916 .yatra-day-toggle:hover {
1917 background: #f3f4f6;
1918 border-color: #d1d5db;
1919 }
1920
1921 .yatra-day-toggle .yatra-chevron-icon {
1922 transition: transform 0.25s ease;
1923 color: #6b7280;
1924 width: 20px;
1925 height: 20px;
1926 }
1927
1928 .yatra-day-toggle svg {
1929 width: 20px;
1930 height: 20px;
1931 color: #6b7280;
1932 stroke: currentColor;
1933 }
1934
1935 /* Expand/collapse days via `.is-day-expanded` (set in PHP for day 1; toggled in trip.js) */
1936 .yatra-itinerary-day-content {
1937 padding: var(--yatra-element-gap);
1938 }
1939
1940 .yatra-itinerary-day:not(.is-day-expanded) .yatra-itinerary-day-content {
1941 display: none;
1942 }
1943
1944 .yatra-itinerary-day.is-day-expanded .yatra-itinerary-day-content {
1945 display: block;
1946 }
1947
1948 .yatra-itinerary-day:not(.is-day-expanded) .yatra-day-toggle .yatra-chevron-icon {
1949 transform: rotate(-90deg);
1950 }
1951
1952 .yatra-itinerary-day.is-day-expanded .yatra-day-toggle .yatra-chevron-icon {
1953 transform: rotate(0deg);
1954 }
1955
1956 .yatra-day-description {
1957 margin-bottom: var(--yatra-element-gap);
1958 color: #4b5563;
1959 font-size: 15px;
1960 line-height: 1.6;
1961 }
1962
1963 .yatra-toggle-all-btn .collapse-icon {
1964 display: none;
1965 }
1966
1967 .yatra-toggle-all-btn.is-all-expanded .expand-icon {
1968 display: none;
1969 }
1970
1971 .yatra-toggle-all-btn.is-all-expanded .collapse-icon {
1972 display: block;
1973 }
1974
1975 /* Hidden image sources for itinerary lightbox collection */
1976 .yatra-itinerary-trip-gallery {
1977 display: none;
1978 }
1979
1980 /* Entry Timeline */
1981 .yatra-entries-timeline {
1982 position: relative;
1983 padding-left: 32px;
1984 }
1985
1986 .yatra-entries-timeline::before {
1987 content: '';
1988 position: absolute;
1989 left: 8px;
1990 top: 0;
1991 bottom: 0;
1992 width: 2px;
1993 background: #e5e7eb;
1994 }
1995
1996 .yatra-entry-item {
1997 position: relative;
1998 margin-bottom: 20px;
1999 }
2000
2001 .yatra-entry-item:last-child {
2002 margin-bottom: 0;
2003 }
2004
2005 .yatra-entry-timeline-dot {
2006 position: absolute;
2007 left: -28px;
2008 top: 20px;
2009 width: 12px;
2010 height: 12px;
2011 background: var(--entry-color, #3b82f6);
2012 border-radius: 50%;
2013 border: 3px solid #fff;
2014 box-shadow: 0 0 0 2px var(--entry-color, #3b82f6);
2015 z-index: 2;
2016 }
2017
2018 .yatra-entry-card {
2019 background: #f9fafb;
2020 border: 1px solid #e5e7eb;
2021 border-radius: 12px;
2022 padding: 20px;
2023 transition: all 0.2s;
2024 }
2025
2026 .yatra-entry-card:hover {
2027 border-color: var(--entry-color, #3b82f6);
2028 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
2029 }
2030
2031 .yatra-entry-header {
2032 display: flex;
2033 align-items: flex-start;
2034 gap: 14px;
2035 margin-bottom: 12px;
2036 }
2037
2038 .yatra-entry-icon {
2039 width: 40px;
2040 height: 40px;
2041 display: flex;
2042 align-items: center;
2043 justify-content: center;
2044 border-radius: 10px;
2045 flex-shrink: 0;
2046 }
2047
2048 .yatra-entry-icon svg {
2049 width: 20px;
2050 height: 20px;
2051 }
2052
2053 .yatra-entry-info {
2054 flex: 1;
2055 min-width: 0;
2056 }
2057
2058 .yatra-entry-type {
2059 font-size: 12px;
2060 font-weight: 600;
2061 text-transform: uppercase;
2062 letter-spacing: 0.5px;
2063 display: block;
2064 margin-bottom: 4px;
2065 }
2066
2067 .yatra-entry-title {
2068 font-size: 16px;
2069 font-weight: 600;
2070 color: #111827;
2071 margin: 0;
2072 }
2073
2074 .yatra-entry-time {
2075 display: flex;
2076 align-items: center;
2077 gap: 6px;
2078 font-size: 13px;
2079 color: #6b7280;
2080 background: #fff;
2081 padding: 6px 12px;
2082 border-radius: 6px;
2083 border: 1px solid #e5e7eb;
2084 white-space: nowrap;
2085 }
2086
2087 .yatra-entry-time svg {
2088 color: #9ca3af;
2089 }
2090
2091 .yatra-entry-description {
2092 font-size: 14px;
2093 line-height: 1.6;
2094 color: #4b5563;
2095 margin: 0 0 12px 0;
2096 }
2097
2098 .yatra-entry-cost {
2099 display: inline-flex;
2100 align-items: center;
2101 gap: 6px;
2102 padding: 6px 12px;
2103 background: linear-gradient(135deg, #10b981 0%, #059669 100%);
2104 border-radius: 8px;
2105 margin-bottom: 12px;
2106 color: white;
2107 font-size: 14px;
2108 font-weight: 600;
2109 }
2110
2111 .yatra-entry-cost svg {
2112 flex-shrink: 0;
2113 color: white;
2114 }
2115
2116 .yatra-entry-cost .yatra-cost-amount {
2117 font-weight: 700;
2118 }
2119
2120 .yatra-entry-cost .yatra-cost-label {
2121 font-size: 12px;
2122 font-weight: 500;
2123 opacity: 0.9;
2124 }
2125
2126 .yatra-entry-meta {
2127 display: flex;
2128 flex-wrap: wrap;
2129 gap: 16px;
2130 margin-bottom: 12px;
2131 }
2132
2133 .yatra-entry-meta-item {
2134 display: flex;
2135 align-items: center;
2136 gap: 6px;
2137 font-size: 13px;
2138 color: #6b7280;
2139 }
2140
2141 .yatra-entry-meta-item svg {
2142 color: #9ca3af;
2143 }
2144
2145 .yatra-entry-included {
2146 display: flex;
2147 flex-wrap: wrap;
2148 gap: 8px;
2149 padding-top: 12px;
2150 border-top: 1px solid #e5e7eb;
2151 }
2152
2153 .yatra-included-tag {
2154 display: inline-flex;
2155 align-items: center;
2156 gap: 4px;
2157 font-size: 12px;
2158 color: #059669;
2159 background: #ecfdf5;
2160 padding: 4px 10px;
2161 border-radius: 4px;
2162 }
2163
2164 .yatra-included-tag svg {
2165 color: #10b981;
2166 }
2167
2168 /* Summary Day */
2169 .yatra-itinerary-summary .yatra-day-badge {
2170 background: #8b5cf6;
2171 }
2172
2173 .yatra-summary-content {
2174 padding: 20px;
2175 background: #f9fafb;
2176 border-radius: 12px;
2177 }
2178
2179 .yatra-summary-content p {
2180 font-size: 15px;
2181 color: #374151;
2182 margin-bottom: 16px;
2183 }
2184
2185 .yatra-summary-list {
2186 list-style: none;
2187 padding: 0;
2188 margin: 0;
2189 }
2190
2191 .yatra-summary-list li {
2192 padding: 12px 0;
2193 border-bottom: 1px solid #e5e7eb;
2194 font-size: 14px;
2195 color: #4b5563;
2196 }
2197
2198 .yatra-summary-list li:last-child {
2199 border-bottom: none;
2200 }
2201
2202 .yatra-summary-list li strong {
2203 color: #111827;
2204 font-weight: 600;
2205 }
2206
2207 /* ============================================
2208 MOBILE STICKY SIDEBAR
2209 ============================================ */
2210
2211 /* Account for WordPress admin bar */
2212 .admin-bar .yatra-mobile-sticky-sidebar {
2213 bottom: 32px;
2214 }
2215
2216
2217 @media screen and (max-width: 782px) {
2218 .admin-bar .yatra-mobile-sticky-sidebar {
2219 bottom: 46px;
2220 }
2221 }
2222
2223 .yatra-mobile-sticky-sidebar.hidden {
2224 transform: translateY(100%);
2225 opacity: 0;
2226 }
2227
2228 .yatra-mobile-sticky-content {
2229 display: flex;
2230 flex-direction: column;
2231 padding: 12px;
2232 gap: 8px;
2233 background: #ffffff;
2234 min-height: auto;
2235 }
2236
2237 /* Row 1: Price and Date */
2238 .yatra-mobile-row-1 {
2239 display: flex;
2240 align-items: center;
2241 justify-content: space-between;
2242 gap: 6px;
2243 flex-wrap: nowrap;
2244 overflow-x: auto;
2245 scrollbar-width: none; /* Hide scrollbar for Firefox */
2246 -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
2247 }
2248
2249 .yatra-mobile-row-1::-webkit-scrollbar {
2250 display: none; /* Hide scrollbar for Chrome, Safari and Opera */
2251 }
2252
2253 /* Row 2: Total Price Only */
2254 .yatra-mobile-row-2 {
2255 display: flex;
2256 align-items: center;
2257 justify-content: center;
2258 gap: 8px;
2259 flex-wrap: nowrap;
2260 padding: 8px 0;
2261 border-top: 1px solid #e5e7eb;
2262 }
2263
2264 /* Row 3: Date, Total, and Actions */
2265 .yatra-mobile-row-3 {
2266 display: flex;
2267 align-items: center;
2268 justify-content: space-between;
2269 gap: 8px;
2270 flex-wrap: nowrap;
2271 }
2272
2273 /* Ensure correct order of elements */
2274 .yatra-mobile-group-badge {
2275 order: 1;
2276 }
2277
2278 .yatra-mobile-price-section {
2279 order: 2;
2280 }
2281
2282 .yatra-mobile-date-section {
2283 order: 3;
2284 display: flex;
2285 align-items: center;
2286 flex: 0 1 auto;
2287 flex-shrink: 1;
2288 min-width: 0;
2289 /* Keep compact so Check / Enquire stay visible (do not stretch like flex: 1) */
2290 max-width: min(112px, 30vw);
2291 width: auto;
2292 touch-action: manipulation;
2293 }
2294
2295 .yatra-mobile-travelers-section {
2296 order: 4;
2297 }
2298
2299
2300 .yatra-mobile-action-section {
2301 order: 6;
2302 }
2303
2304 .yatra-mobile-trust-badge {
2305 order: 7;
2306 }
2307
2308 .yatra-mobile-action-buttons {
2309 order: 8;
2310 }
2311
2312 /* Mobile Booking Fields */
2313 .yatra-mobile-booking-field {
2314 display: flex;
2315 align-items: center;
2316 gap: 6px;
2317 background: #f9fafb;
2318 border: 1px solid #e5e7eb;
2319 border-radius: 6px;
2320 padding: 0 8px;
2321 box-sizing: border-box;
2322 min-width: 0;
2323 min-height: 36px;
2324 height: 36px;
2325 max-height: 36px;
2326 flex-shrink: 0;
2327 touch-action: manipulation;
2328 }
2329
2330 /* Compact Mobile Date Picker — same vertical footprint as Adult / Check / Enquire */
2331 .yatra-mobile-compact-datepicker {
2332 display: flex;
2333 align-items: center;
2334 gap: 4px;
2335 background: #f9fafb;
2336 border: 1px solid #e5e7eb;
2337 border-radius: 6px;
2338 padding: 0 6px;
2339 box-sizing: border-box;
2340 width: 100%;
2341 max-width: 100%;
2342 min-width: 0;
2343 min-height: 36px;
2344 height: 36px;
2345 max-height: 36px;
2346 flex-shrink: 1;
2347 cursor: pointer;
2348 transition: all 0.2s ease;
2349 position: relative;
2350 z-index: 2;
2351 touch-action: manipulation;
2352 -webkit-tap-highlight-color: transparent;
2353 }
2354
2355 .yatra-mobile-compact-datepicker:hover {
2356 background: #f3f4f6;
2357 border-color: #d1d5db;
2358 }
2359
2360 .yatra-mobile-compact-datepicker .yatra-mobile-field-icon {
2361 display: flex;
2362 align-items: center;
2363 justify-content: center;
2364 flex-shrink: 0;
2365 }
2366
2367 .yatra-mobile-compact-datepicker .yatra-mobile-icon {
2368 width: 14px;
2369 height: 14px;
2370 }
2371
2372 .yatra-mobile-datepicker-input {
2373 border: none;
2374 background: transparent;
2375 font-size: 12px;
2376 line-height: 1.2;
2377 color: #374151;
2378 outline: none;
2379 min-width: 0;
2380 width: 0;
2381 flex: 1 1 0;
2382 white-space: nowrap;
2383 overflow: hidden;
2384 text-overflow: ellipsis;
2385 font-weight: 500;
2386 cursor: pointer;
2387 padding: 0;
2388 margin: 0;
2389 min-height: 0 !important;
2390 height: auto;
2391 max-height: 100%;
2392 vertical-align: middle;
2393 -webkit-appearance: none;
2394 appearance: none;
2395 touch-action: manipulation;
2396 }
2397
2398 .yatra-mobile-datepicker-input::placeholder {
2399 color: #9ca3af;
2400 }
2401
2402 .yatra-mobile-arrow {
2403 width: 12px;
2404 height: 12px;
2405 color: #6b7280;
2406 flex-shrink: 0;
2407 transition: transform 0.2s ease;
2408 }
2409
2410 .yatra-mobile-compact-datepicker:hover .yatra-mobile-arrow {
2411 transform: translateY(1px);
2412 }
2413
2414 /* Mobile Date Picker - Match Right Sidebar Exactly */
2415 .yatra-mobile-date-section .yatra-booking-field-select {
2416 display: flex;
2417 align-items: center;
2418 gap: 8px;
2419 background: #f9fafb;
2420 border: 1px solid #e5e7eb;
2421 border-radius: 8px;
2422 padding: 8px 12px;
2423 min-width: 0;
2424 flex-shrink: 0;
2425 position: relative;
2426 cursor: pointer;
2427 }
2428
2429 .yatra-mobile-date-section .yatra-booking-field-icon {
2430 display: flex;
2431 align-items: center;
2432 justify-content: center;
2433 flex-shrink: 0;
2434 }
2435
2436 .yatra-mobile-date-section .yatra-booking-select {
2437 border: none;
2438 background: transparent;
2439 font-size: 14px;
2440 color: #374151;
2441 outline: none;
2442 min-width: 80px;
2443 white-space: nowrap;
2444 overflow: hidden;
2445 text-overflow: ellipsis;
2446 font-weight: 500;
2447 cursor: pointer;
2448 flex: 1;
2449 }
2450
2451 .yatra-mobile-date-section .yatra-booking-select::placeholder {
2452 color: #9ca3af;
2453 }
2454
2455 .yatra-mobile-date-section .yatra-select-arrow {
2456 width: 16px;
2457 height: 16px;
2458 color: #6b7280;
2459 flex-shrink: 0;
2460 transition: transform 0.2s ease;
2461 }
2462
2463 .yatra-mobile-date-section .yatra-booking-field-select:hover .yatra-select-arrow {
2464 transform: translateY(1px);
2465 }
2466
2467 /* Responsive adjustments for mobile date picker */
2468 @media (max-width: 480px) {
2469 .yatra-mobile-date-section .yatra-booking-field-select {
2470 padding: 6px 8px;
2471 gap: 6px;
2472 }
2473
2474 .yatra-mobile-date-section .yatra-booking-select {
2475 font-size: 12px;
2476 min-width: 60px;
2477 }
2478
2479 .yatra-mobile-date-section .yatra-select-arrow {
2480 width: 14px;
2481 height: 14px;
2482 }
2483 }
2484
2485 @media (max-width: 360px) {
2486 .yatra-mobile-date-section .yatra-booking-field-select {
2487 padding: 4px 6px;
2488 gap: 4px;
2489 }
2490
2491 .yatra-mobile-date-section .yatra-booking-select {
2492 font-size: 11px;
2493 min-width: 50px;
2494 }
2495
2496 .yatra-mobile-date-section .yatra-select-arrow {
2497 width: 12px;
2498 height: 12px;
2499 }
2500 }
2501
2502 .yatra-mobile-field-icon {
2503 display: flex;
2504 align-items: center;
2505 justify-content: center;
2506 flex-shrink: 0;
2507 }
2508
2509 .yatra-mobile-icon {
2510 width: 16px;
2511 height: 16px;
2512 color: #6b7280;
2513 }
2514
2515 .yatra-mobile-datepicker,
2516 .yatra-mobile-travelers-display {
2517 border: none;
2518 background: transparent;
2519 font-size: 12px;
2520 line-height: 1.2;
2521 color: #374151;
2522 outline: none;
2523 min-width: 80px;
2524 white-space: nowrap;
2525 overflow: hidden;
2526 text-overflow: ellipsis;
2527 font-weight: 500;
2528 }
2529
2530 .yatra-mobile-datepicker::placeholder {
2531 color: #9ca3af;
2532 }
2533
2534 /* Mobile Quantity Controls */
2535 .yatra-mobile-quantity-controls {
2536 display: flex;
2537 align-items: center;
2538 gap: 6px;
2539 }
2540
2541 .yatra-mobile-quantity-btn {
2542 display: flex;
2543 align-items: center;
2544 justify-content: center;
2545 width: 28px;
2546 height: 28px;
2547 background: #f3f4f6;
2548 border: 1px solid #d1d5db;
2549 border-radius: 6px;
2550 cursor: pointer;
2551 transition: all 0.2s ease;
2552 }
2553
2554 .yatra-mobile-quantity-btn:hover {
2555 background: #e5e7eb;
2556 border-color: #9ca3af;
2557 }
2558
2559 .yatra-mobile-quantity-btn svg {
2560 width: 14px;
2561 height: 14px;
2562 color: #374151;
2563 }
2564
2565 .yatra-mobile-quantity-input {
2566 width: 40px;
2567 text-align: center;
2568 border: none;
2569 background: transparent;
2570 font-size: 14px;
2571 font-weight: 600;
2572 color: #374151;
2573 outline: none;
2574 }
2575
2576 /* Mobile Check Button */
2577 .yatra-mobile-check-btn {
2578 display: flex;
2579 align-items: center;
2580 justify-content: center;
2581 gap: 4px;
2582 padding: 0 10px;
2583 box-sizing: border-box;
2584 min-height: 36px;
2585 height: 36px;
2586 max-height: 36px;
2587 font-size: 12px;
2588 font-weight: 600;
2589 border-radius: 6px;
2590 border: none;
2591 cursor: pointer;
2592 transition: all 0.2s ease;
2593 white-space: nowrap;
2594 background: #3b82f6;
2595 color: white;
2596 box-shadow: 0 1px 3px rgba(59, 130, 246, 0.3);
2597 flex-shrink: 0;
2598 touch-action: manipulation;
2599 }
2600
2601 .yatra-mobile-check-btn:hover {
2602 background: #2563eb;
2603 box-shadow: 0 2px 4px rgba(59, 130, 246, 0.4);
2604 }
2605
2606 /* Mobile Availability Compact */
2607 .yatra-mobile-availability-compact {
2608 background: rgba(255, 255, 255, 0.1);
2609 border-top: 1px solid rgba(255, 255, 255, 0.2);
2610 padding: 8px 16px;
2611 text-align: center;
2612 }
2613
2614 .yatra-mobile-availability-info {
2615 display: flex;
2616 align-items: center;
2617 justify-content: center;
2618 gap: 6px;
2619 }
2620
2621 .yatra-mobile-availability-count {
2622 font-size: 11px;
2623 font-weight: 600;
2624 color: rgba(255, 255, 255, 0.9);
2625 }
2626
2627 /* Price Section */
2628 .yatra-mobile-price-section {
2629 flex-shrink: 0;
2630 position: relative;
2631 background: #f9fafb;
2632 border: 1px solid #e5e7eb;
2633 border-radius: 8px;
2634 padding: 10px 14px;
2635 }
2636
2637 .yatra-mobile-price-info {
2638 display: flex;
2639 flex-direction: column;
2640 align-items: flex-start;
2641 gap: 4px;
2642 }
2643
2644 .yatra-mobile-price-label {
2645 font-size: 11px;
2646 font-weight: 600;
2647 color: #6b7280;
2648 text-transform: uppercase;
2649 letter-spacing: 0.5px;
2650 line-height: 1;
2651 }
2652
2653 .yatra-mobile-price-amount {
2654 font-size: 18px;
2655 font-weight: 700;
2656 color: #111827;
2657 line-height: 1.2;
2658 }
2659
2660 .yatra-mobile-price-original {
2661 font-size: 13px;
2662 font-weight: 500;
2663 color: #9ca3af;
2664 text-decoration: line-through;
2665 line-height: 1;
2666 }
2667
2668 .yatra-mobile-contact-pricing {
2669 color: #6b7280 !important;
2670 font-size: 16px !important;
2671 }
2672
2673 /* Group Discount Badge */
2674 .yatra-mobile-group-badge {
2675 display: flex;
2676 align-items: center;
2677 justify-content: center;
2678 width: 32px;
2679 height: 32px;
2680 background: #f0fdf4;
2681 border: 1px solid #bbf7d0;
2682 border-radius: 8px;
2683 flex-shrink: 0;
2684 }
2685
2686 .yatra-mobile-group-badge svg {
2687 color: #16a34a;
2688 }
2689
2690 /* Discount Badge */
2691 .yatra-mobile-discount-badge {
2692 position: absolute;
2693 top: -10px;
2694 right: -10px;
2695 background: #dc2626;
2696 color: white;
2697 font-size: 10px;
2698 font-weight: 700;
2699 padding: 3px 8px;
2700 border-radius: 6px;
2701 white-space: nowrap;
2702 box-shadow: 0 2px 6px rgba(220, 38, 38, 0.3);
2703 z-index: 1;
2704 }
2705
2706
2707 /* Trust Badge */
2708 .yatra-mobile-trust-badge {
2709 display: flex;
2710 align-items: center;
2711 gap: 6px;
2712 background: #f0fdf4;
2713 border: 1px solid #bbf7d0;
2714 border-radius: 8px;
2715 padding: 6px 12px;
2716 flex-shrink: 0;
2717 }
2718
2719 .yatra-mobile-trust-badge svg {
2720 color: #16a34a;
2721 flex-shrink: 0;
2722 }
2723
2724 .yatra-mobile-trust-badge span {
2725 font-size: 12px;
2726 font-weight: 600;
2727 color: #15803d;
2728 white-space: nowrap;
2729 }
2730
2731 /* Info Bar */
2732 .yatra-mobile-info-bar {
2733 display: flex;
2734 align-items: center;
2735 justify-content: center;
2736 gap: 16px;
2737 background: #f9fafb;
2738 border-top: 1px solid #e5e7eb;
2739 padding: 8px 16px;
2740 min-height: 32px;
2741 }
2742
2743 /* Info Section */
2744 .yatra-mobile-info-section {
2745 display: flex;
2746 align-items: center;
2747 gap: 12px;
2748 flex: 1;
2749 justify-content: center;
2750 }
2751
2752 .yatra-mobile-info-item {
2753 display: flex;
2754 align-items: center;
2755 gap: 4px;
2756 font-size: 12px;
2757 color: #6b7280;
2758 font-weight: 500;
2759 white-space: nowrap;
2760 }
2761
2762 .yatra-mobile-info-item svg {
2763 color: #9ca3af;
2764 flex-shrink: 0;
2765 }
2766
2767 .yatra-mobile-info-icon {
2768 width: 12px;
2769 height: 12px;
2770 flex-shrink: 0;
2771 color: #9ca3af;
2772 }
2773
2774 /* Action Section */
2775 .yatra-mobile-action-section {
2776 display: flex;
2777 align-items: center;
2778 gap: 6px;
2779 flex-shrink: 0;
2780 }
2781
2782 .yatra-mobile-book-btn,
2783 .yatra-mobile-enquire-btn {
2784 display: flex;
2785 align-items: center;
2786 gap: 6px;
2787 padding: 8px 16px;
2788 font-size: 14px;
2789 font-weight: 600;
2790 border-radius: 6px;
2791 border: none;
2792 cursor: pointer;
2793 transition: all 0.2s ease;
2794 white-space: nowrap;
2795 }
2796
2797 .yatra-mobile-book-btn {
2798 background: #3b82f6;
2799 color: white;
2800 }
2801
2802 .yatra-mobile-book-btn:hover {
2803 background: #2563eb;
2804 }
2805
2806 .yatra-mobile-enquire-btn {
2807 background: #f3f4f6;
2808 color: #374151;
2809 border: 1px solid #d1d5db;
2810 padding: 0 10px;
2811 box-sizing: border-box;
2812 min-height: 36px;
2813 height: 36px;
2814 max-height: 36px;
2815 font-size: 12px;
2816 flex-shrink: 0;
2817 align-items: center;
2818 justify-content: center;
2819 touch-action: manipulation;
2820 }
2821
2822 .yatra-mobile-enquire-btn:hover {
2823 background: #e5e7eb;
2824 border-color: #9ca3af;
2825 color: #111827;
2826 }
2827
2828 .yatra-mobile-btn-icon {
2829 width: 14px;
2830 height: 14px;
2831 flex-shrink: 0;
2832 }
2833
2834 /* Action Buttons */
2835 .yatra-mobile-action-buttons {
2836 display: flex;
2837 align-items: center;
2838 gap: 6px;
2839 flex-shrink: 0;
2840 }
2841
2842 /* Close Button */
2843 .yatra-mobile-close-btn {
2844 display: flex;
2845 align-items: center;
2846 justify-content: center;
2847 width: 32px;
2848 height: 32px;
2849 background: #f3f4f6;
2850 border: 1px solid #d1d5db;
2851 border-radius: 8px;
2852 cursor: pointer;
2853 transition: all 0.2s ease;
2854 z-index: 10;
2855 position: relative;
2856 }
2857
2858 .yatra-mobile-close-btn:hover {
2859 background: #e5e7eb;
2860 border-color: #9ca3af;
2861 }
2862
2863 .yatra-mobile-close-btn:active {
2864 transform: scale(0.95);
2865 }
2866
2867 .yatra-mobile-close-icon {
2868 width: 14px;
2869 height: 14px;
2870 color: #6b7280;
2871 }
2872
2873 /* Hidden state for sidebar */
2874 .yatra-mobile-sticky-sidebar.user-closed {
2875 transform: translateY(100%) !important;
2876 opacity: 0 !important;
2877 pointer-events: none;
2878 }
2879
2880 .yatra-mobile-sidebar-details {
2881 max-height: 0;
2882 overflow: hidden;
2883 transition: max-height 0.3s ease;
2884 background: #f9fafb;
2885 border-top: 1px solid #e5e7eb;
2886 }
2887
2888 .yatra-mobile-sidebar-details.expanded {
2889 max-height: 60vh;
2890 overflow-y: auto;
2891 }
2892
2893 .yatra-mobile-details-content {
2894 padding: 20px;
2895 }
2896
2897 /* Dark mode support */
2898 @media (prefers-color-scheme: dark) {
2899 .yatra-mobile-sticky-sidebar {
2900 background: #1f2937 !important;
2901 border-top-color: #374151 !important;
2902 }
2903
2904 .yatra-mobile-sticky-content {
2905 background: #1f2937;
2906 }
2907
2908 .yatra-mobile-booking-field {
2909 background: #374151;
2910 border-color: #4b5563;
2911 }
2912
2913 .yatra-mobile-price-section {
2914 background: #374151;
2915 border-color: #4b5563;
2916 }
2917
2918
2919 .yatra-mobile-price-amount {
2920 color: #f9fafb;
2921 }
2922
2923 .yatra-mobile-price-label {
2924 color: #9ca3af;
2925 }
2926
2927 .yatra-mobile-price-original {
2928 color: #6b7280;
2929 }
2930
2931 .yatra-mobile-datepicker,
2932 .yatra-mobile-travelers-display {
2933 color: #e5e7eb;
2934 }
2935
2936 .yatra-mobile-datepicker::placeholder {
2937 color: #6b7280;
2938 }
2939
2940 .yatra-mobile-icon {
2941 color: #9ca3af;
2942 }
2943
2944 .yatra-mobile-quantity-btn {
2945 background: #4b5563;
2946 border-color: #6b7280;
2947 }
2948
2949 .yatra-mobile-quantity-btn:hover {
2950 background: #6b7280;
2951 border-color: #9ca3af;
2952 }
2953
2954 .yatra-mobile-quantity-btn svg {
2955 color: #d1d5db;
2956 }
2957
2958 .yatra-mobile-quantity-input {
2959 color: #e5e7eb;
2960 }
2961
2962 .yatra-mobile-trust-badge {
2963 background: #14532d;
2964 border-color: #166534;
2965 }
2966
2967 .yatra-mobile-trust-badge svg {
2968 color: #22c55e;
2969 }
2970
2971 .yatra-mobile-trust-badge span {
2972 color: #86efac;
2973 }
2974
2975 .yatra-mobile-close-btn {
2976 background: #4b5563;
2977 border-color: #6b7280;
2978 }
2979
2980 .yatra-mobile-close-btn:hover {
2981 background: #6b7280;
2982 border-color: #9ca3af;
2983 }
2984
2985 .yatra-mobile-close-icon {
2986 color: #9ca3af;
2987 }
2988
2989 .yatra-mobile-info-bar {
2990 background: #374151;
2991 border-top-color: #4b5563;
2992 }
2993
2994 .yatra-mobile-info-item {
2995 color: #d1d5db;
2996 }
2997
2998 .yatra-mobile-info-item svg {
2999 color: #9ca3af;
3000 }
3001
3002 .yatra-mobile-enquire-btn {
3003 background: #4b5563;
3004 color: #e5e7eb;
3005 border-color: #6b7280;
3006 }
3007
3008 .yatra-mobile-enquire-btn:hover {
3009 background: #6b7280;
3010 border-color: #9ca3af;
3011 color: #f9fafb;
3012 }
3013 }
3014
3015 /* Responsive adjustments for three-row layout */
3016 @media (max-width: 480px) {
3017 .yatra-mobile-date-section {
3018 max-width: min(100px, 28vw);
3019 }
3020
3021 .yatra-mobile-sticky-content {
3022 padding: 8px;
3023 gap: 6px;
3024 }
3025
3026 .yatra-mobile-row-1,
3027 .yatra-mobile-row-2,
3028 .yatra-mobile-row-3 {
3029 gap: 6px;
3030 }
3031
3032 .yatra-mobile-booking-field {
3033 padding: 0 6px;
3034 min-height: 34px;
3035 height: 34px;
3036 max-height: 34px;
3037 }
3038
3039 .yatra-mobile-compact-date,
3040 .yatra-mobile-compact-datepicker {
3041 padding: 0 6px;
3042 gap: 4px;
3043 min-height: 34px;
3044 height: 34px;
3045 max-height: 34px;
3046 }
3047
3048 .yatra-mobile-check-btn,
3049 .yatra-mobile-enquire-btn {
3050 min-height: 34px;
3051 height: 34px;
3052 max-height: 34px;
3053 }
3054
3055 .yatra-mobile-price-section {
3056 padding: 4px 6px;
3057 }
3058
3059
3060 .yatra-mobile-price-amount {
3061 font-size: 14px;
3062 }
3063
3064
3065 .yatra-mobile-datepicker {
3066 font-size: 11px;
3067 min-width: 40px;
3068 }
3069
3070 .yatra-mobile-check-btn,
3071 .yatra-mobile-enquire-btn {
3072 padding: 0 6px;
3073 font-size: 10px;
3074 }
3075
3076 .yatra-mobile-check-btn {
3077 gap: 3px;
3078 }
3079
3080 .yatra-mobile-enquire-btn {
3081 gap: 3px;
3082 }
3083
3084 .yatra-mobile-trust-badge {
3085 padding: 2px 4px;
3086 }
3087
3088 .yatra-mobile-trust-badge span {
3089 font-size: 8px;
3090 }
3091
3092 .yatra-mobile-close-btn {
3093 width: 20px;
3094 height: 20px;
3095 }
3096
3097 .yatra-mobile-group-badge {
3098 width: 20px;
3099 height: 20px;
3100 }
3101
3102 .yatra-mobile-group-badge svg {
3103 width: 8px;
3104 height: 8px;
3105 }
3106 }
3107
3108 /* Extra small mobile screens */
3109 @media (max-width: 360px) {
3110 .yatra-mobile-sticky-content {
3111 padding: 6px;
3112 gap: 4px;
3113 }
3114
3115 .yatra-mobile-row-1,
3116 .yatra-mobile-row-2,
3117 .yatra-mobile-row-3 {
3118 gap: 4px;
3119 }
3120
3121 .yatra-mobile-booking-field {
3122 padding: 0 4px;
3123 min-height: 32px;
3124 height: 32px;
3125 max-height: 32px;
3126 }
3127
3128 .yatra-mobile-compact-date,
3129 .yatra-mobile-compact-datepicker {
3130 padding: 0 4px;
3131 gap: 3px;
3132 min-height: 32px;
3133 height: 32px;
3134 max-height: 32px;
3135 }
3136
3137 .yatra-mobile-check-btn,
3138 .yatra-mobile-enquire-btn {
3139 min-height: 32px;
3140 height: 32px;
3141 max-height: 32px;
3142 }
3143
3144 .yatra-mobile-price-section {
3145 padding: 3px 4px;
3146 }
3147
3148
3149 .yatra-mobile-price-amount {
3150 font-size: 12px;
3151 }
3152
3153
3154 .yatra-mobile-datepicker {
3155 font-size: 10px;
3156 min-width: 35px;
3157 }
3158
3159 .yatra-mobile-check-btn,
3160 .yatra-mobile-enquire-btn {
3161 padding: 0 4px;
3162 font-size: 9px;
3163 }
3164
3165 .yatra-mobile-check-btn {
3166 gap: 2px;
3167 }
3168
3169 .yatra-mobile-enquire-btn {
3170 gap: 2px;
3171 }
3172
3173 .yatra-mobile-trust-badge {
3174 display: none; /* Hide trust badge on very small screens */
3175 }
3176
3177 .yatra-mobile-close-btn {
3178 width: 18px;
3179 height: 18px;
3180 }
3181
3182 .yatra-mobile-group-badge {
3183 width: 18px;
3184 height: 18px;
3185 }
3186
3187 .yatra-mobile-group-badge svg {
3188 width: 6px;
3189 height: 6px;
3190 }
3191 }
3192
3193 /* MOBILE FIRST - Show by default, hide on desktop */
3194 .yatra-mobile-sticky-sidebar {
3195 position: fixed !important;
3196 bottom: 0 !important;
3197 left: 0 !important;
3198 right: 0 !important;
3199 background: #ffffff !important;
3200 border-top: 1px solid #e5e7eb !important;
3201 box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1) !important;
3202 z-index: 9999 !important;
3203 transform: translateY(0) !important;
3204 transition: transform 0.3s ease, opacity 0.3s ease !important;
3205 display: block !important; /* MOBILE FIRST - Visible by default */
3206 visibility: visible !important; /* MOBILE FIRST - Visible by default */
3207 opacity: 1 !important; /* MOBILE FIRST - Visible by default */
3208 min-height: 70px !important;
3209 max-height: 320px !important;
3210 overflow-y: auto !important;
3211 }
3212
3213 /* Hide on desktop - 769px and above */
3214 @media only screen and (min-width: 769px) {
3215 .yatra-mobile-sticky-sidebar {
3216 display: none !important;
3217 visibility: hidden !important;
3218 opacity: 0 !important;
3219 transform: translateY(100%) !important;
3220 }
3221 }
3222
3223 /* Responsive */
3224 @media (max-width: 768px) {
3225 .yatra-itinerary-day-header {
3226 padding: 16px;
3227 }
3228
3229 .yatra-day-title {
3230 font-size: 16px;
3231 }
3232
3233 .yatra-itinerary-day-content {
3234 padding: 16px;
3235 }
3236
3237 .yatra-entries-timeline {
3238 padding-left: 24px;
3239 }
3240
3241 .yatra-entry-header {
3242 flex-wrap: wrap;
3243 }
3244
3245 .yatra-entry-time {
3246 width: 100%;
3247 justify-content: flex-start;
3248 margin-top: 8px;
3249 }
3250 }
3251
3252 /* ============================================
3253 PRICING SECTION
3254 ============================================ */
3255 .yatra-trip-pricing {
3256 display: grid;
3257 gap: 24px;
3258 }
3259
3260 .yatra-pricing-card {
3261 border: 2px solid #e5e7eb;
3262 border-radius: 16px;
3263 padding: 32px;
3264 transition: all 0.3s ease;
3265 background: #fff;
3266 }
3267
3268 .yatra-pricing-card:hover {
3269 border-color: #3b82f6;
3270 box-shadow: 0 8px 30px rgba(59, 130, 246, 0.15);
3271 transform: translateY(-4px);
3272 }
3273
3274 .yatra-pricing-header {
3275 display: flex;
3276 justify-content: space-between;
3277 align-items: flex-start;
3278 margin-bottom: 20px;
3279 padding-bottom: 20px;
3280 border-bottom: 2px solid #f3f4f6;
3281 }
3282
3283 .yatra-pricing-title {
3284 font-size: 20px;
3285 font-weight: 700;
3286 color: #111827;
3287 margin: 0;
3288 }
3289
3290 .yatra-pricing-amount {
3291 font-size: 36px;
3292 font-weight: 800;
3293 color: #3b82f6;
3294 margin: 0;
3295 line-height: 1;
3296 }
3297
3298 .yatra-pricing-currency {
3299 font-size: 18px;
3300 font-weight: 400;
3301 color: #6b7280;
3302 }
3303
3304 .yatra-pricing-details {
3305 list-style: none;
3306 padding: 0;
3307 margin: 24px 0 0 0;
3308 }
3309
3310 .yatra-pricing-details li {
3311 padding: 12px 0;
3312 font-size: 15px;
3313 color: #374151;
3314 display: flex;
3315 align-items: center;
3316 gap: 12px;
3317 border-bottom: 1px solid #f3f4f6;
3318 }
3319
3320 .yatra-pricing-details li:last-child {
3321 border-bottom: none;
3322 }
3323
3324 .yatra-pricing-details-icon {
3325 width: 20px;
3326 height: 20px;
3327 color: #10b981;
3328 flex-shrink: 0;
3329 }
3330
3331 /* ============================================
3332 INCLUDED/EXCLUDED
3333 ============================================ */
3334 .yatra-included-excluded {
3335 display: grid;
3336 grid-template-columns: 1fr 1fr;
3337 gap: 32px;
3338 margin-top: 24px;
3339 }
3340
3341 .yatra-included-section,
3342 .yatra-excluded-section {
3343 background: #ffffff;
3344 border-radius: 8px;
3345 padding: 24px;
3346 border: 1px solid #e5e7eb;
3347 }
3348
3349 .yatra-included-section {
3350 border-left: 4px solid #10b981;
3351 }
3352
3353 .yatra-excluded-section {
3354 border-left: 4px solid #ef4444;
3355 }
3356
3357 .yatra-included-section h3,
3358 .yatra-excluded-section h3 {
3359 font-size: 18px;
3360 font-weight: 600;
3361 margin: 0 0 16px 0;
3362 display: flex;
3363 align-items: center;
3364 gap: 8px;
3365 }
3366
3367 .yatra-included-section h3 {
3368 color: #047857;
3369 }
3370
3371 .yatra-excluded-section h3 {
3372 color: #dc2626;
3373 }
3374
3375 .yatra-included-list,
3376 .yatra-excluded-list {
3377 list-style: none;
3378 padding: 0;
3379 margin: 0;
3380 }
3381
3382 .yatra-included-list li,
3383 .yatra-excluded-list li {
3384 padding: 12px 0;
3385 font-size: 15px;
3386 display: flex;
3387 align-items: flex-start;
3388 gap: 10px;
3389 border-bottom: 1px solid #e5e7eb;
3390 line-height: 1.5;
3391 }
3392
3393 .yatra-included-list li:last-child,
3394 .yatra-excluded-list li:last-child {
3395 border-bottom: none;
3396 }
3397
3398 .yatra-included-list li {
3399 color: #065f46;
3400 }
3401
3402 .yatra-excluded-list li {
3403 color: #991b1b;
3404 }
3405
3406 .yatra-item-content {
3407 flex: 1;
3408 }
3409
3410 .yatra-item-title {
3411 font-weight: 500;
3412 margin-bottom: 4px;
3413 }
3414
3415 .yatra-item-desc {
3416 display: block;
3417 margin-top: 6px;
3418 font-size: 13px;
3419 color: #6b7280;
3420 line-height: 1.4;
3421 }
3422
3423 .yatra-included-icon,
3424 .yatra-excluded-icon {
3425 width: 18px;
3426 height: 18px;
3427 flex-shrink: 0;
3428 margin-top: 2px;
3429 }
3430
3431 .yatra-included-icon {
3432 color: #059669;
3433 }
3434
3435 .yatra-excluded-icon {
3436 color: #dc2626;
3437 }
3438
3439 /* Dark mode support */
3440 .dark .yatra-included-section,
3441 .dark .yatra-excluded-section {
3442 background: #1f2937;
3443 border-color: #374151;
3444 }
3445
3446 .dark .yatra-included-section {
3447 border-left-color: #10b981;
3448 }
3449
3450 .dark .yatra-excluded-section {
3451 border-left-color: #ef4444;
3452 }
3453
3454 .dark .yatra-included-section h3 {
3455 color: #34d399;
3456 }
3457
3458 .dark .yatra-excluded-section h3 {
3459 color: #f87171;
3460 }
3461
3462 .dark .yatra-included-list li,
3463 .dark .yatra-excluded-list li {
3464 border-bottom-color: #374151;
3465 }
3466
3467 .dark .yatra-included-list li {
3468 color: #6ee7b7;
3469 }
3470
3471 .dark .yatra-excluded-list li {
3472 color: #fca5a5;
3473 }
3474
3475 .dark .yatra-item-desc {
3476 color: #9ca3af;
3477 }
3478
3479 /* Responsive design */
3480 @media (max-width: 768px) {
3481 .yatra-included-excluded {
3482 grid-template-columns: 1fr;
3483 gap: 20px;
3484 }
3485
3486 .yatra-included-section,
3487 .yatra-excluded-section {
3488 padding: 20px;
3489 }
3490
3491 .yatra-included-section h3,
3492 .yatra-excluded-section h3 {
3493 font-size: 16px;
3494 }
3495
3496 .yatra-included-list li,
3497 .yatra-excluded-list li {
3498 font-size: 14px;
3499 }
3500 }
3501
3502 /* ============================================
3503 GALLERY
3504 ============================================ */
3505 .yatra-trip-gallery {
3506 display: grid;
3507 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
3508 gap: 16px;
3509 margin-top: 24px;
3510 }
3511
3512 .yatra-trip-gallery-empty {
3513 grid-column: 1 / -1;
3514 margin: 0;
3515 padding: 1.25rem 1rem;
3516 text-align: center;
3517 color: #6b7280;
3518 font-size: 0.9375rem;
3519 background: #f9fafb;
3520 border-radius: 8px;
3521 border: 1px dashed #e5e7eb;
3522 }
3523
3524 .yatra-gallery-item {
3525 position: relative;
3526 aspect-ratio: 4/3;
3527 overflow: hidden;
3528 border-radius: 8px;
3529 cursor: pointer;
3530 transition: transform 0.2s ease;
3531 background: #f3f4f6;
3532 }
3533
3534 .yatra-gallery-item:hover {
3535 transform: translateY(-2px);
3536 box-shadow: 0 4px 12px rgba(0,0,0,0.1);
3537 }
3538
3539 .yatra-gallery-item img {
3540 width: 100%;
3541 height: 100%;
3542 object-fit: cover;
3543 display: block;
3544 transition: transform 0.5s ease;
3545 }
3546
3547 .yatra-gallery-item:hover img {
3548 transform: scale(1.1);
3549 }
3550
3551 /* ============================================
3552 GALLERY MODAL
3553 ============================================ */
3554 .yatra-gallery-modal {
3555 position: fixed;
3556 top: 0;
3557 left: 0;
3558 right: 0;
3559 bottom: 0;
3560 z-index: 10000;
3561 display: none;
3562 align-items: center;
3563 justify-content: center;
3564 }
3565
3566 .yatra-gallery-modal.active {
3567 display: flex;
3568 }
3569
3570 .yatra-gallery-modal-overlay {
3571 position: absolute;
3572 top: 0;
3573 left: 0;
3574 right: 0;
3575 bottom: 0;
3576 background: rgba(0,0,0,0.95);
3577 backdrop-filter: blur(5px);
3578 }
3579
3580 .yatra-gallery-modal-content {
3581 position: relative;
3582 width: 95%;
3583 max-width: 1400px;
3584 height: 90vh;
3585 max-height: 900px;
3586 background: #000;
3587 border-radius: 16px;
3588 overflow: hidden;
3589 display: flex;
3590 flex-direction: column;
3591 z-index: 1;
3592 }
3593
3594 /* Account for WordPress admin bar */
3595 .admin-bar .yatra-gallery-modal-content {
3596 margin-top: 32px;
3597 max-height: calc(90vh - 32px);
3598 }
3599
3600 .yatra-gallery-modal-close {
3601 position: absolute;
3602 top: 20px;
3603 right: 20px;
3604 z-index: 100;
3605 width: 44px;
3606 height: 44px;
3607 background: rgba(255,255,255,0.1);
3608 backdrop-filter: blur(10px);
3609 border: 1px solid rgba(255,255,255,0.2);
3610 border-radius: 50%;
3611 display: flex;
3612 align-items: center;
3613 justify-content: center;
3614 cursor: pointer;
3615 transition: all 0.3s ease;
3616 color: #fff;
3617 margin:0;
3618 padding:0;
3619 }
3620
3621 .yatra-gallery-modal-close:hover {
3622 background: rgba(255,255,255,0.2);
3623 transform: rotate(90deg);
3624 }
3625
3626 .yatra-gallery-modal-prev,
3627 .yatra-gallery-modal-next {
3628 position: absolute;
3629 top: 50%;
3630 transform: translateY(-50%);
3631 z-index: 100;
3632 width: 50px;
3633 height: 50px;
3634 background: rgba(255,255,255,0.1);
3635 backdrop-filter: blur(10px);
3636 border: 1px solid rgba(255,255,255,0.2);
3637 border-radius: 50%;
3638 display: flex;
3639 align-items: center;
3640 justify-content: center;
3641 cursor: pointer;
3642 transition: all 0.3s ease;
3643 color: #fff;
3644 margin:0;
3645 padding:0;
3646 }
3647
3648 .yatra-gallery-modal-prev {
3649 left: 20px;
3650 }
3651
3652 .yatra-gallery-modal-next {
3653 right: 20px;
3654 }
3655
3656 .yatra-gallery-modal-prev:hover,
3657 .yatra-gallery-modal-next:hover {
3658 background: rgba(255,255,255,0.2);
3659 transform: translateY(-50%) scale(1.1);
3660 }
3661
3662 .yatra-gallery-modal-main {
3663 flex: 1;
3664 display: flex;
3665 align-items: center;
3666 justify-content: center;
3667 position: relative;
3668 background: #000;
3669 overflow: hidden;
3670 }
3671
3672 .yatra-gallery-modal-image {
3673 max-width: 100%;
3674 max-height: 100%;
3675 width: auto;
3676 height: auto;
3677 object-fit: contain;
3678 display: block;
3679 opacity: 0;
3680 transition: opacity 0.3s ease;
3681 }
3682
3683 .yatra-gallery-modal-image.loaded {
3684 opacity: 1;
3685 }
3686
3687 .yatra-gallery-modal-loader {
3688 position: absolute;
3689 color: #fff;
3690 font-size: 16px;
3691 display: none;
3692 }
3693
3694 .yatra-gallery-modal-loader.active {
3695 display: block;
3696 }
3697
3698 .yatra-gallery-modal-info {
3699 padding: 16px 24px;
3700 background: rgba(0,0,0,0.8);
3701 border-top: 1px solid rgba(255,255,255,0.1);
3702 }
3703
3704 .yatra-gallery-modal-counter {
3705 color: #fff;
3706 font-size: 16px;
3707 font-weight: 600;
3708 text-align: center;
3709 }
3710
3711 .yatra-gallery-modal-thumbnails {
3712 padding: 16px;
3713 background: rgba(0,0,0,0.9);
3714 border-top: 1px solid rgba(255,255,255,0.1);
3715 max-height: 120px;
3716 overflow-x: auto;
3717 overflow-y: hidden;
3718 }
3719
3720 .yatra-gallery-thumbnails-container {
3721 display: flex;
3722 gap: 12px;
3723 justify-content: center;
3724 align-items: center;
3725 padding: 0 20px;
3726 }
3727
3728 .yatra-gallery-thumbnail {
3729 width: 80px;
3730 height: 80px;
3731 border-radius: 8px;
3732 overflow: hidden;
3733 cursor: pointer;
3734 opacity: 0.6;
3735 transition: all 0.3s ease;
3736 border: 2px solid transparent;
3737 flex-shrink: 0;
3738 }
3739
3740 .yatra-gallery-thumbnail:hover {
3741 opacity: 1;
3742 transform: scale(1.1);
3743 }
3744
3745 .yatra-gallery-thumbnail.active {
3746 opacity: 1;
3747 border-color: #3b82f6;
3748 }
3749
3750 .yatra-gallery-thumbnail img {
3751 width: 100%;
3752 height: 100%;
3753 object-fit: cover;
3754 display: block;
3755 }
3756
3757 /* ============================================
3758 MAP
3759 ============================================ */
3760 .yatra-trip-map {
3761 width: 100%;
3762 height: 450px;
3763 border-radius: 12px;
3764 overflow: hidden;
3765 margin-top: 32px;
3766 background: #e5e7eb;
3767 display: flex;
3768 align-items: center;
3769 justify-content: center;
3770 color: #6b7280;
3771 font-size: 16px;
3772 border: 1px solid #d1d5db;
3773 position: relative;
3774 }
3775
3776 .yatra-map-placeholder {
3777 background: linear-gradient(135deg, #f8fafc, #e2e8f0);
3778 border: 2px dashed #cbd5e1;
3779 }
3780
3781 .yatra-map-placeholder p {
3782 margin: 0;
3783 padding: 20px;
3784 text-align: center;
3785 color: #64748b;
3786 font-weight: 500;
3787 }
3788
3789 /* OpenStreetMap specific styles */
3790 #yatra-openstreet-map {
3791 border-radius: 12px !important;
3792 overflow: hidden;
3793 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
3794 }
3795
3796 .yatra-custom-marker {
3797 z-index: 1000 !important;
3798 }
3799
3800 .yatra-marker-bounce {
3801 animation: bounce 2s infinite;
3802 }
3803
3804 @keyframes bounce {
3805 0%, 20%, 50%, 80%, 100% {
3806 transform: translateY(0) rotate(-45deg);
3807 }
3808 40% {
3809 transform: translateY(-10px) rotate(-45deg);
3810 }
3811 60% {
3812 transform: translateY(-5px) rotate(-45deg);
3813 }
3814 }
3815
3816 /* Dark mode support for map */
3817 @media (prefers-color-scheme: dark) {
3818 .yatra-trip-map {
3819 background: #1e293b;
3820 border-color: #334155;
3821 }
3822
3823 .yatra-map-placeholder {
3824 background: linear-gradient(135deg, #1e293b, #334155);
3825 border-color: #475569;
3826 }
3827
3828 .yatra-map-placeholder p {
3829 color: #94a3b8;
3830 }
3831 }
3832
3833 /* ============================================
3834 FAQ
3835 ============================================ */
3836 .yatra-trip-faq {
3837 list-style: none;
3838 padding: 0;
3839 margin: 0;
3840 }
3841
3842 .yatra-faq-item {
3843 border-bottom: 1px solid #e5e7eb;
3844 padding: 20px 0;
3845 }
3846
3847 .yatra-faq-item:first-child {
3848 padding-top: 0;
3849 }
3850
3851 .yatra-faq-item:last-child {
3852 border-bottom: none;
3853 padding-bottom: 0;
3854 }
3855
3856 .yatra-faq-question {
3857 font-size: 18px;
3858 font-weight: 600;
3859 color: #111827;
3860 margin: 0 0 12px 0;
3861 cursor: pointer;
3862 display: flex;
3863 align-items: center;
3864 justify-content: space-between;
3865 transition: color 0.2s ease;
3866 }
3867
3868 .yatra-faq-question:hover {
3869 color: #374151;
3870 }
3871
3872 .yatra-faq-toggle {
3873 width: 20px;
3874 height: 20px;
3875 color: #6b7280;
3876 flex-shrink: 0;
3877 transition: transform 0.2s ease;
3878 }
3879
3880 .yatra-faq-item.active .yatra-faq-toggle {
3881 transform: rotate(45deg);
3882 }
3883
3884 .yatra-faq-answer {
3885 font-size: 16px;
3886 line-height: 1.6;
3887 color: #4b5563;
3888 max-height: 0;
3889 overflow: hidden;
3890 transition: max-height 0.2s ease, margin 0.2s ease, padding 0.2s ease;
3891 margin: 0;
3892 padding: 0;
3893 }
3894
3895 .yatra-faq-item.active .yatra-faq-answer {
3896 max-height: 1000px;
3897 margin-top: 12px;
3898 padding-top: 12px;
3899 border-top: 1px solid #f3f4f6;
3900 }
3901
3902 /* ============================================
3903 SIDEBAR - BOOKING CARD
3904 ============================================ */
3905 .yatra-trip-sidebar {
3906 position: sticky;
3907 top: max(12px, env(safe-area-inset-top, 0px));
3908 height: fit-content;
3909 max-width: 100%;
3910 align-self: flex-start;
3911 transition: top 0.3s ease;
3912 }
3913
3914 /* Account for WordPress admin bar */
3915 .admin-bar .yatra-trip-sidebar {
3916 top: 32px; /* Admin bar height */
3917 }
3918
3919 @media screen and (max-width: 782px) {
3920 .admin-bar .yatra-trip-sidebar {
3921 top: 46px; /* Mobile admin bar height */
3922 }
3923 }
3924
3925 .yatra-booking-card {
3926 background: #fff;
3927 border-radius: 12px;
3928 padding: 24px;
3929 box-shadow: 0 2px 8px rgba(0,0,0,0.1);
3930 border: 1px solid #e5e7eb;
3931 position: relative;
3932 }
3933
3934 .yatra-booking-price {
3935 margin-bottom: 24px;
3936 padding-bottom: 24px;
3937 border-bottom: 1px solid #e5e7eb;
3938 }
3939
3940 .yatra-booking-card .yatra-group-discount-badge-minimal {
3941 margin-bottom: 10px;
3942 background: #f0f9ff;
3943 border-color: rgba(2, 132, 199, 0.22);
3944 }
3945
3946 .yatra-booking-price-from {
3947 margin-bottom: 8px;
3948 }
3949
3950 .yatra-booking-price-from-text {
3951 font-size: 14px;
3952 color: #6b7280;
3953 font-weight: 500;
3954 }
3955
3956 .yatra-booking-price-original {
3957 font-size: 14px;
3958 color: rgba(107, 114, 128, 0.85);
3959 text-decoration: line-through;
3960 font-weight: 500;
3961 text-decoration-thickness: 1px;
3962 text-decoration-color: rgba(107, 114, 128, 0.65);
3963 }
3964
3965 .yatra-booking-price-main {
3966 display: flex;
3967 align-items: baseline;
3968 gap: 10px;
3969 /* Keep badge inside the card: allow wrapping only when needed */
3970 flex-wrap: wrap;
3971 white-space: normal;
3972 max-width: 100%;
3973 }
3974
3975 .yatra-booking-price-amount {
3976 font-size: 28px;
3977 font-weight: 700;
3978 color: #ef4444;
3979 line-height: 1.05;
3980 letter-spacing: -0.01em;
3981 }
3982
3983 .yatra-booking-price-label {
3984 font-size: 14px;
3985 color: #6b7280;
3986 font-weight: 500;
3987 line-height: 1.2;
3988 white-space: nowrap;
3989 max-width: 100%;
3990 }
3991
3992 /* Allow wrapping on very small screens */
3993 @media (max-width: 480px) {
3994 .yatra-booking-price-main {
3995 flex-wrap: wrap;
3996 white-space: normal;
3997 }
3998 }
3999
4000 /* Booking Discount Badge */
4001 .yatra-booking-discount-badge {
4002 display: inline-block;
4003 padding: 4px 10px;
4004 margin-bottom: 8px;
4005 background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
4006 color: white;
4007 font-size: 12px;
4008 font-weight: 600;
4009 border-radius: 4px;
4010 text-transform: uppercase;
4011 letter-spacing: 0.5px;
4012 }
4013
4014 /* Contact for pricing styling */
4015 .yatra-contact-pricing {
4016 font-size: 18px !important;
4017 color: #ef4444 !important;
4018 }
4019
4020 /* Group Discount Badge - Minimal */
4021 .yatra-group-discount-badge-minimal {
4022 display: inline-flex;
4023 align-items: center;
4024 gap: 6px;
4025 background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
4026 color: #0369a1;
4027 padding: 4px 8px;
4028 border-radius: 6px;
4029 font-size: 11px;
4030 font-weight: 500;
4031 border: 1px solid #bae6fd;
4032 position: relative;
4033 z-index: 1;
4034 }
4035
4036 .yatra-group-discount-badge-minimal svg {
4037 flex-shrink: 0;
4038 }
4039
4040 /* Tooltip Styles */
4041 .yatra-has-tooltip {
4042 cursor: help;
4043 }
4044
4045 .yatra-has-tooltip .yatra-info-icon {
4046 opacity: 0.6;
4047 transition: opacity 0.2s ease;
4048 }
4049
4050 .yatra-has-tooltip:hover .yatra-info-icon {
4051 opacity: 1;
4052 }
4053
4054 .yatra-tooltip {
4055 position: absolute;
4056 bottom: calc(100% + 8px);
4057 left: 50%;
4058 transform: translateX(-50%);
4059 background: #ffffff;
4060 border: 1px solid #e5e7eb;
4061 border-radius: 8px;
4062 box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
4063 padding: 0;
4064 min-width: 220px;
4065 z-index: 999999;
4066 opacity: 0;
4067 visibility: hidden;
4068 transition: opacity 0.2s ease, visibility 0.2s ease;
4069 pointer-events: none;
4070 }
4071
4072 .yatra-has-tooltip:hover .yatra-tooltip {
4073 opacity: 1;
4074 visibility: visible;
4075 pointer-events: auto;
4076 z-index: 999999;
4077 }
4078
4079 .yatra-tooltip::after {
4080 content: '';
4081 position: absolute;
4082 top: 100%;
4083 left: 50%;
4084 transform: translateX(-50%);
4085 border: 6px solid transparent;
4086 border-top-color: #ffffff;
4087 }
4088
4089 .yatra-tooltip-header {
4090 padding: 10px 12px;
4091 border-bottom: 1px solid #e5e7eb;
4092 background: #f9fafb;
4093 border-radius: 8px 8px 0 0;
4094 font-size: 13px;
4095 color: #111827;
4096 }
4097
4098 .yatra-tooltip-content {
4099 padding: 8px;
4100 }
4101
4102 .yatra-discount-tier {
4103 display: flex;
4104 justify-content: space-between;
4105 align-items: center;
4106 padding: 8px 6px;
4107 border-radius: 4px;
4108 transition: background-color 0.15s ease;
4109 }
4110
4111 .yatra-discount-tier:hover {
4112 background: #f3f4f6;
4113 }
4114
4115 .yatra-tier-size {
4116 font-size: 12px;
4117 color: #4b5563;
4118 font-weight: 500;
4119 }
4120
4121 .yatra-tier-discount {
4122 font-size: 12px;
4123 font-weight: 600;
4124 color: #059669;
4125 background: #ecfdf5;
4126 padding: 2px 8px;
4127 border-radius: 4px;
4128 }
4129
4130 /* Applied Group Discount Display */
4131 .yatra-applied-group-discount {
4132 margin-top: 12px;
4133 padding: 10px 12px;
4134 background: #ecfdf5;
4135 border: 1px solid #10b981;
4136 border-radius: 8px;
4137 display: none;
4138 }
4139
4140 .yatra-applied-group-discount.active {
4141 display: block;
4142 }
4143
4144 .yatra-applied-group-discount-header {
4145 display: flex;
4146 align-items: center;
4147 gap: 8px;
4148 margin-bottom: 6px;
4149 }
4150
4151 .yatra-applied-group-discount-icon {
4152 color: #10b981;
4153 }
4154
4155 .yatra-applied-group-discount-title {
4156 font-size: 13px;
4157 font-weight: 600;
4158 color: #047857;
4159 }
4160
4161 .yatra-applied-group-discount-amount {
4162 font-size: 14px;
4163 font-weight: 700;
4164 color: #059669;
4165 margin-left: auto;
4166 }
4167
4168 .yatra-applied-group-discount-desc {
4169 font-size: 12px;
4170 color: #059669;
4171 }
4172
4173 /* Pricing Mode Labels */
4174 .yatra-quantity-price-wrapper {
4175 display: flex;
4176 flex-direction: column;
4177 align-items: flex-start;
4178 gap: 2px;
4179 }
4180
4181 .yatra-pricing-mode-label {
4182 font-size: 10px;
4183 font-weight: 500;
4184 padding: 2px 6px;
4185 border-radius: 4px;
4186 white-space: nowrap;
4187 }
4188
4189 .yatra-pricing-mode-group {
4190 background: #fef3c7;
4191 color: #92400e;
4192 border: 1px solid #f59e0b;
4193 }
4194
4195 .yatra-booking-form {
4196 display: flex;
4197 flex-direction: column;
4198 gap: 16px;
4199 }
4200
4201 /* Participants Select */
4202 .yatra-participants-select {
4203 position: relative;
4204 }
4205
4206 .yatra-participants-display {
4207 flex: 1;
4208 padding: 14px 12px 14px 0;
4209 font-size: 15px;
4210 font-weight: 500;
4211 color: #111827;
4212 cursor: pointer;
4213 user-select: none;
4214 height: 100%;
4215 display: flex;
4216 align-items: center;
4217 pointer-events: auto;
4218 position: relative;
4219 z-index: 1;
4220 transition: color 0.2s ease;
4221 }
4222
4223 .yatra-participants-select:hover .yatra-participants-display {
4224 color: #3b82f6;
4225 }
4226
4227 /* Quantity Selector - Hidden by default */
4228 .yatra-booking-quantity-selector {
4229 position: absolute;
4230 top: 100%;
4231 left: 0;
4232 right: 0;
4233 margin-top: 8px;
4234 border: 1px solid #e5e7eb;
4235 border-radius: 12px;
4236 padding: 12px;
4237 background: #fff;
4238 box-shadow: 0 10px 25px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05);
4239 z-index: 1000;
4240 display: none;
4241 max-height: 400px;
4242 overflow-y: auto;
4243 overflow-x: hidden;
4244 }
4245
4246 .yatra-participants-select.active .yatra-booking-quantity-selector {
4247 display: block;
4248 animation: slideDown 0.2s ease-out;
4249 }
4250
4251 @keyframes slideDown {
4252 from {
4253 opacity: 0;
4254 transform: translateY(-10px);
4255 }
4256 to {
4257 opacity: 1;
4258 transform: translateY(0);
4259 }
4260 }
4261
4262 /* Enquiry form quantity selector */
4263 .yatra-enquiry-participants.active .yatra-booking-quantity-selector {
4264 display: block;
4265 }
4266
4267 .yatra-quantity-row {
4268 display: flex;
4269 align-items: center;
4270 justify-content: space-between;
4271 padding: 16px 12px;
4272 border-radius: 12px;
4273 transition: all 0.2s ease;
4274 gap: 16px;
4275 margin-bottom: 8px;
4276 }
4277
4278 .yatra-quantity-row:hover {
4279 background-color: #f8fafc;
4280 transform: translateX(2px);
4281 }
4282
4283 .yatra-quantity-row:not(:last-child) {
4284 border-bottom: none;
4285 }
4286
4287 .yatra-quantity-label {
4288 display: flex;
4289 flex-direction: column;
4290 gap: 4px;
4291 flex: 1;
4292 min-width: 0;
4293 }
4294
4295 .yatra-quantity-title {
4296 font-size: 15px;
4297 font-weight: 600;
4298 color: #0f172a;
4299 line-height: 1.3;
4300 }
4301
4302 .yatra-quantity-subtitle {
4303 font-size: 12px;
4304 color: #64748b;
4305 line-height: 1.4;
4306 }
4307
4308 .yatra-quantity-price {
4309 display: block;
4310 font-size: 14px;
4311 font-weight: 700;
4312 color: #059669;
4313 margin-top: 2px;
4314 white-space: nowrap;
4315 }
4316
4317 .yatra-booking-price-label-top {
4318 display: block;
4319 font-size: 12px;
4320 color: #6b7280;
4321 text-transform: uppercase;
4322 letter-spacing: 0.5px;
4323 margin-bottom: 2px;
4324 }
4325
4326 /* Simple Travelers Input (Regular Pricing) */
4327 .yatra-booking-field-group {
4328 margin-bottom: 16px;
4329 }
4330
4331 .yatra-booking-field-label {
4332 display: block;
4333 font-size: 13px;
4334 font-weight: 500;
4335 color: #374151;
4336 margin-bottom: 8px;
4337 }
4338
4339 .yatra-booking-travelers-simple {
4340 display: flex;
4341 align-items: center;
4342 gap: 12px;
4343 padding: 12px 16px;
4344 background: #f9fafb;
4345 border: 1px solid #e5e7eb;
4346 border-radius: 10px;
4347 flex-wrap: wrap;
4348 }
4349
4350 /* Quantity Controls Inline - Modern Clean Design */
4351 .yatra-quantity-controls-inline {
4352 display: flex;
4353 align-items: center;
4354 gap: 2px;
4355 background: #f8fafc;
4356 border: 1.5px solid #e2e8f0;
4357 border-radius: 12px;
4358 padding: 3px;
4359 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
4360 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
4361 }
4362
4363 .yatra-quantity-controls-inline:hover {
4364 border-color: #cbd5e1;
4365 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
4366 background: #ffffff;
4367 }
4368
4369 .yatra-quantity-controls-inline:focus-within {
4370 border-color: #3b82f6;
4371 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
4372 }
4373
4374 .yatra-quantity-controls-inline .yatra-quantity-btn {
4375 width: 32px;
4376 height: 32px;
4377 border-radius: 10px;
4378 border: none;
4379 background: #ffffff;
4380 display: flex;
4381 align-items: center;
4382 justify-content: center;
4383 cursor: pointer;
4384 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
4385 color: #475569;
4386 padding: 0;
4387 flex-shrink: 0;
4388 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4389 position: relative;
4390 z-index: 1;
4391 }
4392
4393 .yatra-quantity-controls-inline .yatra-quantity-btn:hover:not(:disabled) {
4394 background: #3b82f6;
4395 color: #ffffff;
4396 transform: translateY(-1px);
4397 box-shadow: 0 4px 8px rgba(59, 130, 246, 0.25);
4398 z-index: 2;
4399 }
4400
4401 .yatra-quantity-controls-inline .yatra-quantity-btn:active:not(:disabled) {
4402 background: #2563eb;
4403 color: #ffffff;
4404 transform: translateY(0);
4405 box-shadow: 0 2px 4px rgba(59, 130, 246, 0.2);
4406 }
4407
4408 .yatra-quantity-controls-inline .yatra-quantity-btn:disabled {
4409 opacity: 0.4;
4410 cursor: not-allowed;
4411 color: #cbd5e1;
4412 background: #f1f5f9;
4413 box-shadow: none;
4414 }
4415
4416 .yatra-quantity-controls-inline .yatra-quantity-btn svg {
4417 width: 16px;
4418 height: 16px;
4419 stroke-width: 2.5;
4420 transition: transform 0.2s ease;
4421 pointer-events: none;
4422 }
4423
4424 .yatra-quantity-controls-inline .yatra-quantity-btn:hover:not(:disabled) svg {
4425 transform: scale(1.1);
4426 }
4427
4428 .yatra-quantity-input-simple {
4429 width: 50px;
4430 text-align: center;
4431 font-size: 15px;
4432 font-weight: 700;
4433 color: #0f172a;
4434 border: none;
4435 background: transparent;
4436 appearance: textfield;
4437 -moz-appearance: textfield;
4438 padding: 0 4px;
4439 border-radius: 8px;
4440 transition: all 0.2s ease;
4441 }
4442
4443 .yatra-quantity-input-simple::-webkit-outer-spin-button,
4444 .yatra-quantity-input-simple::-webkit-inner-spin-button {
4445 -webkit-appearance: none;
4446 margin: 0;
4447 }
4448
4449 .yatra-quantity-input-simple:focus {
4450 outline: none;
4451 background: #ffffff;
4452 box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
4453 }
4454
4455 .yatra-travelers-range,
4456 .yatra-travelers-available {
4457 font-size: 12px;
4458 color: #6b7280;
4459 margin-left: auto;
4460 }
4461
4462 /* Availability Info */
4463 .yatra-availability-info {
4464 padding: 8px 12px;
4465 background: #ecfdf5;
4466 border-radius: 8px;
4467 margin-bottom: 16px;
4468 text-align: center;
4469 }
4470
4471 .yatra-availability-count {
4472 font-size: 13px;
4473 font-weight: 500;
4474 color: #059669;
4475 }
4476
4477 /* Flexible Booking Info */
4478 .yatra-flexible-booking-info {
4479 background: #f3f8ff;
4480 border-left: 3px solid rgba(59, 130, 246, 0.65);
4481 }
4482
4483 .yatra-flexible-booking-info .yatra-availability-count {
4484 color: #1e40af;
4485 display: block;
4486 margin-bottom: 2px;
4487 font-weight: 600;
4488 }
4489
4490 .yatra-availability-note {
4491 display: block;
4492 font-size: 12px;
4493 color: #6b7280;
4494 font-weight: 400;
4495 }
4496
4497 /* Departure Dates List */
4498 .yatra-departure-dates-list {
4499 display: flex;
4500 flex-direction: column;
4501 gap: 8px;
4502 max-height: 280px;
4503 overflow-y: auto;
4504 padding-right: 4px;
4505 }
4506
4507 .yatra-departure-option {
4508 display: flex;
4509 align-items: center;
4510 gap: 12px;
4511 padding: 12px;
4512 border: 2px solid #e5e7eb;
4513 border-radius: 10px;
4514 cursor: pointer;
4515 transition: all 0.2s ease;
4516 background: #fff;
4517 }
4518
4519 .yatra-departure-option:hover {
4520 border-color: #3b82f6;
4521 background: #f8fafc;
4522 }
4523
4524 .yatra-departure-option.selected {
4525 border-color: #3b82f6;
4526 background: #eff6ff;
4527 }
4528
4529 .yatra-departure-option.limited {
4530 border-color: #f59e0b;
4531 }
4532
4533 .yatra-departure-option.limited.selected {
4534 background: #fffbeb;
4535 }
4536
4537 .yatra-departure-option input[type="radio"] {
4538 display: none;
4539 }
4540
4541 .yatra-departure-info {
4542 flex: 1;
4543 }
4544
4545 .yatra-departure-date {
4546 display: flex;
4547 flex-direction: column;
4548 gap: 2px;
4549 }
4550
4551 .yatra-departure-day {
4552 font-size: 11px;
4553 font-weight: 600;
4554 color: #6b7280;
4555 text-transform: uppercase;
4556 }
4557
4558 .yatra-departure-full {
4559 font-size: 14px;
4560 font-weight: 600;
4561 color: #111827;
4562 }
4563
4564 .yatra-return-date {
4565 font-size: 12px;
4566 color: #6b7280;
4567 }
4568
4569 .yatra-departure-meta {
4570 margin-top: 4px;
4571 }
4572
4573 .yatra-departure-seats {
4574 font-size: 11px;
4575 color: #059669;
4576 }
4577
4578 .yatra-departure-seats.limited {
4579 color: #f59e0b;
4580 font-weight: 500;
4581 }
4582
4583 .yatra-departure-price {
4584 text-align: right;
4585 }
4586
4587 .yatra-departure-original-price {
4588 font-size: 12px;
4589 color: #9ca3af;
4590 text-decoration: line-through;
4591 display: block;
4592 }
4593
4594 .yatra-departure-current-price {
4595 font-size: 16px;
4596 font-weight: 700;
4597 color: #059669;
4598 }
4599
4600 .yatra-departure-check {
4601 width: 24px;
4602 height: 24px;
4603 border-radius: 50%;
4604 background: #e5e7eb;
4605 display: flex;
4606 align-items: center;
4607 justify-content: center;
4608 transition: all 0.2s ease;
4609 }
4610
4611 .yatra-departure-check svg {
4612 color: transparent;
4613 transition: color 0.2s ease;
4614 }
4615
4616 .yatra-departure-option.selected .yatra-departure-check {
4617 background: #3b82f6;
4618 }
4619
4620 .yatra-departure-option.selected .yatra-departure-check svg {
4621 color: #fff;
4622 }
4623
4624 /* Scrollbar styling for departure list */
4625 .yatra-departure-dates-list::-webkit-scrollbar {
4626 width: 4px;
4627 }
4628
4629 .yatra-departure-dates-list::-webkit-scrollbar-track {
4630 background: #f1f5f9;
4631 border-radius: 4px;
4632 }
4633
4634 .yatra-departure-dates-list::-webkit-scrollbar-thumb {
4635 background: #cbd5e1;
4636 border-radius: 4px;
4637 }
4638
4639 .yatra-departure-dates-list::-webkit-scrollbar-thumb:hover {
4640 background: #94a3b8;
4641 }
4642
4643 /* Quantity Controls - Modern Clean Design */
4644 .yatra-quantity-controls {
4645 display: inline-flex;
4646 align-items: center;
4647 gap: 2px;
4648 background: #f8fafc;
4649 padding: 3px;
4650 border-radius: 12px;
4651 border: 1.5px solid #e2e8f0;
4652 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
4653 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
4654 }
4655
4656 .yatra-quantity-controls:hover {
4657 border-color: #cbd5e1;
4658 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
4659 background: #ffffff;
4660 }
4661
4662 .yatra-quantity-controls:focus-within {
4663 border-color: #3b82f6;
4664 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
4665 }
4666
4667 .yatra-quantity-btn {
4668 width: 32px;
4669 height: 32px;
4670 border-radius: 10px;
4671 border: none;
4672 background: #ffffff;
4673 display: flex;
4674 align-items: center;
4675 justify-content: center;
4676 cursor: pointer;
4677 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
4678 color: #475569;
4679 padding: 0;
4680 flex-shrink: 0;
4681 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4682 position: relative;
4683 z-index: 1;
4684 }
4685
4686 .yatra-quantity-row .yatra-quantity-btn:hover:not(:disabled) {
4687 background: #3b82f6;
4688 color: #ffffff;
4689 transform: translateY(-1px);
4690 box-shadow: 0 4px 8px rgba(59, 130, 246, 0.25);
4691 z-index: 2;
4692 }
4693
4694 .yatra-quantity-btn:active:not(:disabled) {
4695 background: #2563eb;
4696 color: #ffffff;
4697 transform: translateY(0);
4698 box-shadow: 0 2px 4px rgba(59, 130, 246, 0.2);
4699 }
4700
4701 .yatra-quantity-btn:disabled {
4702 opacity: 0.4;
4703 cursor: not-allowed;
4704 color: #cbd5e1;
4705 background: #f1f5f9;
4706 box-shadow: none;
4707 }
4708
4709 .yatra-quantity-btn svg {
4710 width: 16px;
4711 height: 16px;
4712 stroke-width: 2.5;
4713 transition: transform 0.2s ease;
4714 pointer-events: none;
4715 }
4716
4717 .yatra-quantity-btn:hover:not(:disabled) svg {
4718 transform: scale(1.1);
4719 }
4720
4721 .yatra-quantity-row .yatra-quantity-input {
4722 width: 48px;
4723 height: 32px;
4724 text-align: center;
4725 border: none;
4726 background: transparent;
4727 font-size: 15px;
4728 font-weight: 500;
4729 color: #0f172a;
4730 padding: 0 6px;
4731 cursor: default;
4732 min-width: 48px;
4733 border-radius: 8px;
4734 appearance: textfield;
4735 -moz-appearance: textfield;
4736 transition: all 0.2s ease;
4737 line-height: 32px;
4738 }
4739
4740 .yatra-quantity-input::-webkit-outer-spin-button,
4741 .yatra-quantity-input::-webkit-inner-spin-button {
4742 -webkit-appearance: none;
4743 margin: 0;
4744 }
4745
4746 .yatra-quantity-input:focus {
4747 outline: none;
4748 background: #ffffff;
4749 box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
4750 }
4751
4752 .yatra-quantity-note {
4753 margin-top: 12px;
4754 padding-top: 12px;
4755 border-top: 1px solid #e5e7eb;
4756 font-size: 12px;
4757 color: #6b7280;
4758 line-height: 1.4;
4759 }
4760
4761 .yatra-booking-field-select {
4762 position: relative;
4763 display: flex;
4764 align-items: center;
4765 width: 100%;
4766 border: 1px solid rgba(209, 213, 219, 0.9);
4767 border-radius: 8px;
4768 background: #fff;
4769 transition: all 0.3s ease;
4770 min-height: 46px;
4771 height: 46px;
4772 cursor: pointer;
4773 }
4774
4775 .yatra-booking-field-select input[readonly] {
4776 cursor: pointer;
4777 }
4778
4779 .yatra-booking-field-select:focus-within {
4780 border-color: #3b82f6;
4781 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
4782 }
4783
4784 .yatra-booking-field-icon {
4785 padding: 0 12px;
4786 display: flex;
4787 align-items: center;
4788 color: #6b7280;
4789 flex-shrink: 0;
4790 height: 100%;
4791 }
4792
4793 .yatra-booking-field-icon svg {
4794 width: 18px;
4795 height: 18px;
4796 }
4797
4798 .yatra-booking-select {
4799 flex: 1;
4800 padding: 12px 12px 12px 0;
4801 border: none;
4802 background: transparent;
4803 font-size: 15px;
4804 color: #111827;
4805 font-family: inherit;
4806 appearance: none;
4807 cursor: pointer;
4808 height: 100%;
4809 display: flex;
4810 align-items: center;
4811 }
4812
4813 .yatra-booking-select:focus {
4814 outline: none;
4815 }
4816
4817 .yatra-booking-select option {
4818 padding: 8px;
4819 }
4820
4821 /* Datepicker - Remove double border */
4822 .yatra-datepicker,
4823 .yatra-booking-field-select input.yatra-datepicker,
4824 input.yatra-datepicker,
4825 .yatra-enquiry-datepicker,
4826 .yatra-enquiry-field .yatra-booking-field-select input {
4827 border: none !important;
4828 outline: none !important;
4829 box-shadow: none !important;
4830 }
4831
4832 .flatpickr-input {
4833 border: none !important;
4834 outline: none !important;
4835 box-shadow: none !important;
4836 }
4837
4838 /* Ensure enquiry form datepicker doesn't have double border */
4839 .yatra-enquiry-field .yatra-booking-field-select .flatpickr-input {
4840 border: none !important;
4841 outline: none !important;
4842 box-shadow: none !important;
4843 }
4844
4845 .yatra-select-arrow {
4846 position: absolute;
4847 right: 12px;
4848 width: 20px;
4849 height: 20px;
4850 color: #6b7280;
4851 pointer-events: none;
4852 flex-shrink: 0;
4853 }
4854
4855 .yatra-booking-enquiry-button {
4856 width: 100%;
4857 padding: 14px 24px;
4858 background: transparent;
4859 color: #3b82f6;
4860 border: 2px solid #3b82f6;
4861 border-radius: 8px;
4862 font-size: 15px;
4863 font-weight: 600;
4864 cursor: pointer;
4865 transition: all 0.3s ease;
4866 margin-top: 8px;
4867 display: flex;
4868 align-items: center;
4869 justify-content: center;
4870 gap: 8px;
4871 }
4872
4873 .yatra-booking-enquiry-button svg {
4874 flex-shrink: 0;
4875 }
4876
4877 .yatra-booking-enquiry-button:hover {
4878 background: #3b82f6;
4879 color: #fff;
4880 }
4881
4882 .yatra-booking-button {
4883 width: 100%;
4884 padding: 16px 24px;
4885 background: #3b82f6;
4886 color: #fff;
4887 border: none;
4888 border-radius: 8px;
4889 font-size: 16px;
4890 font-weight: 600;
4891 cursor: pointer;
4892 transition: all 0.3s ease;
4893 margin-top: 8px;
4894 display: flex;
4895 align-items: center;
4896 justify-content: center;
4897 gap: 8px;
4898 }
4899
4900 .yatra-booking-button svg {
4901 flex-shrink: 0;
4902 }
4903
4904 .yatra-booking-button:hover {
4905 background: #2563eb;
4906 transform: translateY(-1px);
4907 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
4908 }
4909
4910 .yatra-booking-button:focus-visible,
4911 .yatra-booking-enquiry-button:focus-visible,
4912 .yatra-booking-field-select:focus-within {
4913 outline: none;
4914 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
4915 }
4916
4917 /* Compact Availability Alert */
4918 .yatra-booking-availability-compact {
4919 padding: 8px 12px;
4920 background: #fef3c7;
4921 border: 1px solid #fde68a;
4922 border-radius: 6px;
4923 margin-bottom: 20px;
4924 font-size: 12px;
4925 color: #92400e;
4926 text-align: center;
4927 line-height: 1.4;
4928 }
4929
4930 .yatra-booking-availability-compact strong {
4931 font-weight: 700;
4932 color: #78350f;
4933 }
4934
4935
4936 /* Single Trust Signal */
4937 .yatra-booking-trust {
4938 margin-top: 20px;
4939 padding-top: 20px;
4940 border-top: 1px solid #e5e7eb;
4941 display: flex;
4942 align-items: flex-start;
4943 gap: 10px;
4944 }
4945
4946 .yatra-booking-trust-icon {
4947 flex-shrink: 0;
4948 margin-top: 2px;
4949 }
4950
4951 .yatra-booking-trust-icon svg {
4952 width: 18px;
4953 height: 18px;
4954 color: #10b981;
4955 }
4956
4957 .yatra-booking-trust-text {
4958 font-size: 13px;
4959 color: #4b5563;
4960 line-height: 1.5;
4961 }
4962
4963 .yatra-booking-trust-text strong {
4964 color: #111827;
4965 font-weight: 600;
4966 }
4967
4968 /* ============================================
4969 ENQUIRY MODAL
4970 ============================================ */
4971 .yatra-enquiry-modal {
4972 position: fixed;
4973 top: 0;
4974 left: 0;
4975 right: 0;
4976 bottom: 0;
4977 z-index: 99999;
4978 display: none !important;
4979 align-items: center;
4980 justify-content: center;
4981 padding: 20px;
4982 visibility: hidden;
4983 opacity: 0;
4984 transition: opacity 0.3s ease, visibility 0.3s ease;
4985 }
4986
4987 .yatra-enquiry-modal.active {
4988 display: flex !important;
4989 visibility: visible !important;
4990 opacity: 1 !important;
4991 }
4992
4993 .yatra-enquiry-modal-overlay {
4994 position: absolute;
4995 top: 0;
4996 left: 0;
4997 right: 0;
4998 bottom: 0;
4999 background: rgba(0, 0, 0, 0.6);
5000 backdrop-filter: blur(4px);
5001 }
5002
5003 .yatra-enquiry-modal-content {
5004 position: relative;
5005 background: #fff;
5006 border-radius: 16px;
5007 max-width: 700px;
5008 width: 100%;
5009 max-height: 90vh;
5010 overflow-y: auto;
5011 box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
5012 z-index: 1;
5013 }
5014
5015 .yatra-enquiry-modal-close {
5016 position: absolute;
5017 top: 16px;
5018 right: 16px;
5019 width: 40px;
5020 height: 40px;
5021 border: none;
5022 background: #f3f4f6;
5023 border-radius: 50%;
5024 display: flex;
5025 align-items: center;
5026 justify-content: center;
5027 cursor: pointer;
5028 transition: all 0.2s ease;
5029 z-index: 10;
5030 color: #6b7280;
5031 padding:0;
5032 }
5033
5034 .yatra-enquiry-modal-close:hover {
5035 background: #e5e7eb;
5036 color: #111827;
5037 transform: rotate(90deg);
5038 }
5039
5040 .yatra-enquiry-modal-close svg {
5041 width: 20px;
5042 height: 20px;
5043 }
5044
5045 .yatra-enquiry-modal-header {
5046 padding: 32px 32px 24px;
5047 border-bottom: 1px solid #e5e7eb;
5048 }
5049
5050 .yatra-enquiry-modal-title {
5051 font-size: 24px;
5052 font-weight: 700;
5053 color: #111827;
5054 margin: 0 0 8px 0;
5055 }
5056
5057 .yatra-enquiry-modal-subtitle {
5058 font-size: 14px;
5059 color: #6b7280;
5060 margin: 0;
5061 line-height: 1.5;
5062 }
5063
5064 .yatra-enquiry-form {
5065 padding: 24px 32px 32px;
5066 }
5067
5068 /* Enquiry form message box */
5069 .yatra-enquiry-message {
5070 margin-bottom: 16px;
5071 padding: 12px 16px;
5072 border-radius: 8px;
5073 font-size: 14px;
5074 line-height: 1.5;
5075 }
5076
5077 .yatra-enquiry-message p {
5078 margin: 0;
5079 }
5080
5081 .yatra-enquiry-message-success {
5082 background-color: #dcfce7;
5083 color: #166534;
5084 border: 1px solid #bbf7d0;
5085 }
5086
5087 .yatra-enquiry-message-error {
5088 background-color: #fef2f2;
5089 color: #dc2626;
5090 border: 1px solid #fecaca;
5091 }
5092
5093 .yatra-enquiry-form-grid {
5094 display: grid;
5095 grid-template-columns: 1fr 1fr 1fr;
5096 gap: 16px;
5097 margin-bottom: 20px;
5098 }
5099
5100 .yatra-enquiry-field {
5101 margin-bottom: 20px;
5102 }
5103
5104 .yatra-enquiry-field-group {
5105 display: grid;
5106 grid-template-columns: 1fr 1fr;
5107 gap: 16px;
5108 margin-bottom: 20px;
5109 }
5110
5111 /* Enquiry form date and travelers selectors */
5112 .yatra-enquiry-field .yatra-booking-field-select {
5113 margin-top: 0;
5114 }
5115
5116 .yatra-enquiry-label {
5117 display: block;
5118 font-size: 14px;
5119 font-weight: 600;
5120 color: #374151;
5121 margin-bottom: 8px;
5122 }
5123
5124 .yatra-enquiry-required {
5125 color: #ef4444;
5126 }
5127
5128 .yatra-enquiry-input,
5129 .yatra-enquiry-textarea {
5130 width: 100%;
5131 padding: 12px 16px;
5132 border: 1px solid #d1d5db;
5133 border-radius: 8px;
5134 font-size: 15px;
5135 font-family: inherit;
5136 color: #111827;
5137 background: #fff;
5138 transition: all 0.2s ease;
5139 box-sizing: border-box;
5140 }
5141
5142 .yatra-enquiry-input:focus,
5143 .yatra-enquiry-textarea:focus {
5144 outline: none;
5145 border-color: #3b82f6;
5146 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
5147 }
5148
5149 .yatra-enquiry-textarea {
5150 resize: vertical;
5151 min-height: 80px;
5152 height: 80px;
5153 line-height: 1.6;
5154 }
5155
5156 /* Enquiry form responsive - handled in main responsive section below */
5157
5158 @media (max-width: 640px) {
5159 .yatra-enquiry-form-grid {
5160 grid-template-columns: 1fr;
5161 }
5162
5163 .yatra-enquiry-field-group {
5164 grid-template-columns: 1fr;
5165 }
5166 }
5167
5168 .yatra-enquiry-input::placeholder,
5169 .yatra-enquiry-textarea::placeholder {
5170 color: #9ca3af;
5171 }
5172
5173 .yatra-enquiry-actions {
5174 display: flex;
5175 gap: 12px;
5176 margin-top: 32px;
5177 padding-top: 24px;
5178 border-top: 1px solid #e5e7eb;
5179 }
5180
5181 .yatra-enquiry-cancel {
5182 flex: 1;
5183 padding: 14px 24px;
5184 border: 1px solid #d1d5db;
5185 border-radius: 8px;
5186 background: #fff;
5187 color: #374151;
5188 font-size: 15px;
5189 font-weight: 600;
5190 cursor: pointer;
5191 transition: all 0.2s ease;
5192 display: flex;
5193 align-items: center;
5194 justify-content: center;
5195 gap: 6px;
5196 }
5197
5198 .yatra-enquiry-cancel svg {
5199 flex-shrink: 0;
5200 }
5201
5202 .yatra-enquiry-cancel:hover {
5203 background: #f9fafb;
5204 border-color: #9ca3af;
5205 }
5206
5207 .yatra-enquiry-submit {
5208 flex: 1;
5209 padding: 14px 24px;
5210 border: none;
5211 border-radius: 8px;
5212 background: #3b82f6;
5213 color: #fff;
5214 font-size: 15px;
5215 font-weight: 600;
5216 cursor: pointer;
5217 transition: all 0.2s ease;
5218 display: flex;
5219 align-items: center;
5220 justify-content: center;
5221 gap: 6px;
5222 }
5223
5224 .yatra-enquiry-submit svg {
5225 flex-shrink: 0;
5226 }
5227
5228 .yatra-enquiry-submit:hover {
5229 background: #2563eb;
5230 transform: translateY(-1px);
5231 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
5232 }
5233
5234 .yatra-enquiry-submit:active {
5235 transform: translateY(0);
5236 }
5237
5238 @media (max-width: 640px) {
5239 .yatra-enquiry-modal-content {
5240 max-width: 100%;
5241 border-radius: 12px;
5242 }
5243
5244 .yatra-enquiry-modal-header {
5245 padding: 24px 20px 20px;
5246 }
5247
5248 .yatra-enquiry-form {
5249 padding: 20px;
5250 }
5251
5252 .yatra-enquiry-field-group {
5253 grid-template-columns: 1fr;
5254 }
5255
5256 .yatra-enquiry-actions {
5257 flex-direction: column;
5258 }
5259 }
5260
5261 .yatra-booking-feature-item {
5262 display: flex;
5263 align-items: flex-start;
5264 gap: 12px;
5265 }
5266
5267 .yatra-booking-feature-icon {
5268 flex-shrink: 0;
5269 margin-top: 2px;
5270 }
5271
5272 .yatra-booking-feature-icon svg {
5273 width: 20px;
5274 height: 20px;
5275 color: #10b981;
5276 }
5277
5278 .yatra-booking-feature-content {
5279 flex: 1;
5280 }
5281
5282 .yatra-booking-feature-title {
5283 font-size: 15px;
5284 font-weight: 600;
5285 color: #111827;
5286 margin-bottom: 4px;
5287 }
5288
5289 .yatra-booking-feature-desc {
5290 font-size: 13px;
5291 color: #6b7280;
5292 line-height: 1.5;
5293 }
5294
5295 .yatra-booking-feature-link {
5296 color: #3b82f6;
5297 text-decoration: none;
5298 font-weight: 500;
5299 }
5300
5301 .yatra-booking-feature-link:hover {
5302 text-decoration: underline;
5303 }
5304
5305 /* ============================================
5306 WEATHER & CLIMATE
5307 ============================================ */
5308 .yatra-weather-info {
5309 background: #f9fafb;
5310 border-radius: 12px;
5311 padding: 24px;
5312 border: 1px solid #e5e7eb;
5313 }
5314
5315 .yatra-weather-card {
5316 margin-bottom: 24px;
5317 }
5318
5319 .yatra-weather-season {
5320 font-size: 18px;
5321 font-weight: 700;
5322 color: #111827;
5323 margin-bottom: 12px;
5324 }
5325
5326 .yatra-weather-desc {
5327 font-size: 15px;
5328 line-height: 1.7;
5329 color: #4b5563;
5330 margin: 0;
5331 }
5332
5333 .yatra-weather-details {
5334 display: grid;
5335 gap: 16px;
5336 }
5337
5338 .yatra-weather-detail-item {
5339 padding: 16px;
5340 background: #fff;
5341 border-radius: 8px;
5342 border: 1px solid #e5e7eb;
5343 }
5344
5345 .yatra-weather-detail-label {
5346 font-size: 14px;
5347 font-weight: 600;
5348 color: #374151;
5349 margin-bottom: 6px;
5350 }
5351
5352 .yatra-weather-detail-value {
5353 font-size: 14px;
5354 color: #6b7280;
5355 line-height: 1.5;
5356 }
5357
5358 /* ============================================
5359 PACKING LIST
5360 ============================================ */
5361 .yatra-packing-list {
5362 display: grid;
5363 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
5364 gap: 24px;
5365 }
5366
5367 .yatra-packing-category {
5368 background: #f9fafb;
5369 border-radius: 12px;
5370 padding: 24px;
5371 border: 1px solid #e5e7eb;
5372 }
5373
5374 .yatra-packing-category-title {
5375 font-size: 18px;
5376 font-weight: 700;
5377 color: #111827;
5378 margin-bottom: 16px;
5379 padding-bottom: 12px;
5380 border-bottom: 2px solid #3b82f6;
5381 }
5382
5383 .yatra-packing-items {
5384 list-style: none;
5385 padding: 0;
5386 margin: 0;
5387 display: flex;
5388 flex-direction: column;
5389 gap: 10px;
5390 }
5391
5392 .yatra-packing-items li {
5393 font-size: 14px;
5394 color: #4b5563;
5395 line-height: 1.6;
5396 padding-left: 24px;
5397 position: relative;
5398 }
5399
5400 .yatra-packing-items li::before {
5401 content: '';
5402 position: absolute;
5403 left: 0;
5404 color: #10b981;
5405 font-weight: 700;
5406 font-size: 16px;
5407 }
5408
5409 /* ============================================
5410 SIMILAR TRIPS - UNIFIED SPACING
5411 ============================================ */
5412 .yatra-similar-section {
5413 /* Breathing room from reviews (or previous block); section already has bottom rhythm */
5414 padding-top: var(--yatra-section-gap);
5415 padding-bottom: var(--yatra-section-gap);
5416 background: #f8fafc;
5417 margin-top: 0;
5418 border-top: 1px solid var(--yatra-border-color, #e5e7eb);
5419 }
5420
5421 /* Parent .yatra-similar-section already has unified max-width + horizontal padding (see .yatra-single-trip > rules).
5422 Higher specificity than common.css .yatra-similar-section-container legacy rule. */
5423 .yatra-single-trip .yatra-similar-section > .yatra-similar-section-container {
5424 width: 100%;
5425 max-width: none;
5426 margin-left: 0;
5427 margin-right: 0;
5428 padding-left: 0;
5429 padding-right: 0;
5430 }
5431
5432 .yatra-similar-section-header {
5433 display: flex;
5434 align-items: center;
5435 justify-content: space-between;
5436 margin-bottom: var(--yatra-element-gap);
5437 }
5438
5439 .yatra-similar-section-title {
5440 display: flex;
5441 align-items: center;
5442 gap: var(--yatra-tiny-gap);
5443 font-size: 28px;
5444 font-weight: 700;
5445 color: #111827;
5446 margin: 0;
5447 }
5448
5449 .yatra-similar-section-icon {
5450 width: 32px;
5451 height: 32px;
5452 color: #3b82f6;
5453 }
5454
5455 /* Carousel Navigation */
5456 .yatra-carousel-nav {
5457 display: flex;
5458 gap: 8px;
5459 }
5460
5461 .yatra-carousel-btn {
5462 width: 44px;
5463 height: 44px;
5464 display: flex;
5465 align-items: center;
5466 justify-content: center;
5467 background: #fff;
5468 border: 1px solid #e5e7eb;
5469 border-radius: 50%;
5470 cursor: pointer;
5471 color: #374151;
5472 transition: all 0.2s;
5473 }
5474
5475 .yatra-carousel-btn:hover:not(:disabled) {
5476 background: #3b82f6;
5477 border-color: #3b82f6;
5478 color: #fff;
5479 }
5480
5481 .yatra-carousel-btn:disabled {
5482 opacity: 0.5;
5483 cursor: not-allowed;
5484 }
5485
5486 /* Carousel Wrapper */
5487 .yatra-carousel-wrapper {
5488 overflow: hidden;
5489 position: relative;
5490 }
5491
5492 .yatra-carousel-track {
5493 display: flex;
5494 gap: 24px;
5495 transition: transform 0.4s ease;
5496 }
5497
5498 .yatra-carousel-item {
5499 flex: 0 0 calc(25% - 18px);
5500 min-width: 280px;
5501 }
5502
5503 @media (max-width: 1200px) {
5504 .yatra-carousel-item {
5505 flex: 0 0 calc(33.333% - 16px);
5506 }
5507 }
5508
5509 @media (max-width: 900px) {
5510 .yatra-carousel-item {
5511 flex: 0 0 calc(50% - 12px);
5512 }
5513 }
5514
5515 @media (max-width: 600px) {
5516 .yatra-carousel-item {
5517 flex: 0 0 100%;
5518 }
5519
5520 .yatra-carousel-nav {
5521 display: none;
5522 }
5523
5524 .yatra-carousel-track {
5525 overflow-x: auto;
5526 scroll-snap-type: x mandatory;
5527 -webkit-overflow-scrolling: touch;
5528 scrollbar-width: none;
5529 -ms-overflow-style: none;
5530 }
5531
5532 .yatra-carousel-track::-webkit-scrollbar {
5533 display: none;
5534 }
5535
5536 .yatra-carousel-item {
5537 scroll-snap-align: start;
5538 }
5539 }
5540
5541 /* Grid uses same card styles as /trip page */
5542 .yatra-similar-trips-grid {
5543 display: grid;
5544 grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
5545 gap: 24px;
5546 }
5547
5548 .yatra-similar-trips-grid .yatra-trip-card {
5549 background: #fff;
5550 border-radius: 12px;
5551 overflow: hidden;
5552 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
5553 transition: transform 0.2s, box-shadow 0.2s;
5554 cursor: pointer;
5555 display: flex;
5556 flex-direction: column;
5557 }
5558
5559 .yatra-similar-trips-grid .yatra-trip-card:hover {
5560 transform: translateY(-4px);
5561 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
5562 }
5563
5564 .yatra-similar-trips-grid .yatra-trip-image {
5565 position: relative;
5566 width: 100%;
5567 height: 200px;
5568 overflow: hidden;
5569 background: #e5e7eb;
5570 flex-shrink: 0;
5571 }
5572
5573 .yatra-similar-trips-grid .yatra-trip-image img {
5574 width: 100%;
5575 height: 100%;
5576 object-fit: cover;
5577 transition: transform 0.3s;
5578 }
5579
5580 .yatra-similar-trips-grid .yatra-trip-card:hover .yatra-trip-image img {
5581 transform: scale(1.05);
5582 }
5583
5584 .yatra-similar-trips-grid .yatra-discount-badge {
5585 position: absolute;
5586 top: 12px;
5587 left: 12px;
5588 background: #ef4444;
5589 color: #fff;
5590 padding: 4px 10px;
5591 border-radius: 4px;
5592 font-size: 12px;
5593 font-weight: 600;
5594 z-index: 2;
5595 }
5596
5597 .yatra-similar-trips-grid .yatra-favorite-btn {
5598 position: absolute !important;
5599 top: 12px !important;
5600 right: 12px !important;
5601 width: 36px !important;
5602 height: 36px !important;
5603 background: #ffffff !important;
5604 border: 1px solid rgba(0, 0, 0, 0.1) !important;
5605 border-radius: 50% !important;
5606 cursor: pointer !important;
5607 display: flex !important;
5608 align-items: center !important;
5609 justify-content: center !important;
5610 color: #6b7280 !important;
5611 transition: all 0.2s !important;
5612 z-index: 10 !important;
5613 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
5614 padding: 0 !important;
5615 }
5616
5617 .yatra-similar-trips-grid .yatra-favorite-btn:hover {
5618 background: #ffffff !important;
5619 color: #ef4444 !important;
5620 transform: scale(1.1) !important;
5621 }
5622
5623 .yatra-similar-trips-grid .yatra-favorite-btn svg {
5624 width: 18px !important;
5625 height: 18px !important;
5626 }
5627
5628 .yatra-similar-trips-grid .yatra-trip-content {
5629 padding: 20px;
5630 display: flex;
5631 flex-direction: column;
5632 flex: 1;
5633 }
5634
5635 .yatra-similar-trips-grid .yatra-trip-meta {
5636 display: flex;
5637 align-items: center;
5638 gap: 8px;
5639 margin-bottom: 12px;
5640 font-size: 13px;
5641 color: #6b7280;
5642 flex-wrap: wrap;
5643 }
5644
5645 .yatra-similar-trips-grid .yatra-trip-separator {
5646 color: #d1d5db;
5647 }
5648
5649 .yatra-similar-trips-grid .yatra-trip-title {
5650 font-size: 18px;
5651 font-weight: 600;
5652 color: #1f2937;
5653 margin-bottom: 12px;
5654 line-height: 1.4;
5655 }
5656
5657 .yatra-similar-trips-grid .yatra-trip-highlights {
5658 display: flex;
5659 flex-wrap: wrap;
5660 gap: 6px;
5661 margin-top: 0 !important;
5662 margin-bottom: 12px;
5663 }
5664
5665 .yatra-similar-trips-grid .yatra-highlight-badge {
5666 padding: 4px 10px;
5667 background: #eff6ff;
5668 color: #1e40af;
5669 border-radius: 4px;
5670 font-size: 12px;
5671 font-weight: 500;
5672 }
5673
5674 .yatra-similar-trips-grid .yatra-trip-rating {
5675 display: flex;
5676 align-items: center;
5677 gap: 8px;
5678 margin-bottom: 16px;
5679 }
5680
5681 .yatra-similar-trips-grid .yatra-rating-stars {
5682 display: flex;
5683 align-items: center;
5684 gap: 4px;
5685 }
5686
5687 .yatra-similar-trips-grid .yatra-rating-value {
5688 font-size: 13px;
5689 font-weight: 600;
5690 color: #1f2937;
5691 }
5692
5693 .yatra-similar-trips-grid .yatra-reviews-count {
5694 font-size: 12px;
5695 color: #6b7280;
5696 }
5697
5698 .yatra-similar-trips-grid .yatra-trip-footer {
5699 display: flex;
5700 justify-content: space-between;
5701 align-items: center;
5702 margin-top: auto;
5703 padding-top: 16px;
5704 border-top: 1px solid #f3f4f6;
5705 }
5706
5707 .yatra-similar-trips-grid .yatra-trip-price {
5708 display: flex;
5709 flex-direction: column;
5710 }
5711
5712 .yatra-similar-trips-grid .yatra-original-price {
5713 font-size: 12px;
5714 color: #9ca3af;
5715 text-decoration: line-through;
5716 margin-bottom: 2px;
5717 }
5718
5719 .yatra-similar-trips-grid .yatra-current-price {
5720 font-size: 22px;
5721 font-weight: 700;
5722 color: #3b82f6;
5723 line-height: 1;
5724 }
5725
5726 .yatra-similar-trips-grid .yatra-price-note {
5727 font-size: 11px;
5728 color: #9ca3af;
5729 margin-top: 2px;
5730 }
5731
5732 .yatra-similar-trips-grid .yatra-card-view-btn {
5733 display: inline-flex;
5734 align-items: center;
5735 justify-content: center;
5736 padding: 10px 16px;
5737 background: #3b82f6;
5738 color: #fff !important;
5739 border: none;
5740 border-radius: 6px;
5741 font-size: 13px;
5742 font-weight: 600;
5743 cursor: pointer;
5744 transition: all 0.2s;
5745 text-decoration: none !important;
5746 white-space: nowrap;
5747 }
5748
5749 .yatra-similar-trips-grid .yatra-card-view-btn:hover {
5750 background: #2563eb;
5751 transform: translateY(-1px);
5752 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
5753 }
5754
5755 @media (max-width: 1024px) {
5756 .yatra-similar-trips-grid {
5757 grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
5758 gap: 20px;
5759 }
5760 }
5761
5762 @media (max-width: 768px) {
5763 .yatra-similar-trips-grid {
5764 grid-template-columns: 1fr;
5765 }
5766
5767 .yatra-similar-section {
5768 padding-top: var(--yatra-section-gap);
5769 padding-bottom: var(--yatra-section-gap);
5770 margin-top: 0;
5771 }
5772
5773 .yatra-similar-section-title {
5774 font-size: 22px;
5775 }
5776
5777 .yatra-similar-section-header {
5778 flex-direction: column;
5779 align-items: flex-start;
5780 gap: 16px;
5781 margin-bottom: 24px;
5782 }
5783 }
5784
5785 /* Carousel Card Styles */
5786 .yatra-carousel-item .yatra-trip-card {
5787 background: #fff;
5788 border-radius: 12px;
5789 overflow: hidden;
5790 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
5791 transition: transform 0.2s, box-shadow 0.2s;
5792 cursor: pointer;
5793 display: flex;
5794 flex-direction: column;
5795 height: 100%;
5796 }
5797
5798 .yatra-carousel-item .yatra-trip-card:hover {
5799 transform: translateY(-4px);
5800 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
5801 }
5802
5803 .yatra-carousel-item .yatra-trip-image {
5804 position: relative;
5805 width: 100%;
5806 height: 200px;
5807 overflow: hidden;
5808 background: #e5e7eb;
5809 flex-shrink: 0;
5810 }
5811
5812 .yatra-carousel-item .yatra-trip-image img {
5813 width: 100%;
5814 height: 100%;
5815 object-fit: cover;
5816 transition: transform 0.3s;
5817 }
5818
5819 .yatra-carousel-item .yatra-trip-card:hover .yatra-trip-image img {
5820 transform: scale(1.05);
5821 }
5822
5823 .yatra-carousel-item .yatra-discount-badge {
5824 position: absolute;
5825 top: 12px;
5826 left: 12px;
5827 background: #ef4444;
5828 color: #fff;
5829 padding: 4px 10px;
5830 border-radius: 4px;
5831 font-size: 12px;
5832 font-weight: 600;
5833 z-index: 2;
5834 }
5835
5836 .yatra-carousel-item .yatra-favorite-btn {
5837 position: absolute !important;
5838 top: 12px !important;
5839 right: 12px !important;
5840 width: 36px !important;
5841 height: 36px !important;
5842 background: #ffffff !important;
5843 border: 1px solid rgba(0, 0, 0, 0.1) !important;
5844 border-radius: 50% !important;
5845 cursor: pointer !important;
5846 display: flex !important;
5847 align-items: center !important;
5848 justify-content: center !important;
5849 color: #6b7280 !important;
5850 transition: all 0.2s !important;
5851 z-index: 10 !important;
5852 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
5853 padding: 0 !important;
5854 }
5855
5856 .yatra-carousel-item .yatra-favorite-btn:hover {
5857 background: #ffffff !important;
5858 color: #ef4444 !important;
5859 transform: scale(1.1) !important;
5860 }
5861
5862 .yatra-carousel-item .yatra-favorite-btn svg {
5863 width: 18px !important;
5864 height: 18px !important;
5865 }
5866
5867 .yatra-carousel-item .yatra-trip-content {
5868 padding: 20px;
5869 display: flex;
5870 flex-direction: column;
5871 flex: 1;
5872 }
5873
5874 .yatra-carousel-item .yatra-trip-meta {
5875 display: flex;
5876 align-items: center;
5877 gap: 8px;
5878 margin-bottom: 12px;
5879 font-size: 13px;
5880 color: #6b7280;
5881 flex-wrap: wrap;
5882 }
5883
5884 .yatra-carousel-item .yatra-trip-separator {
5885 color: #d1d5db;
5886 }
5887
5888 .yatra-carousel-item .yatra-trip-title {
5889 font-size: 18px;
5890 font-weight: 600;
5891 color: #1f2937;
5892 margin-bottom: 12px;
5893 line-height: 1.4;
5894 }
5895
5896 .yatra-carousel-item .yatra-trip-highlights {
5897 display: flex;
5898 flex-wrap: wrap;
5899 gap: 6px;
5900 margin-top: 0 !important;
5901 margin-bottom: 12px;
5902 }
5903
5904 .yatra-carousel-item .yatra-highlight-badge {
5905 padding: 4px 10px;
5906 background: #eff6ff;
5907 color: #1e40af;
5908 border-radius: 4px;
5909 font-size: 12px;
5910 font-weight: 500;
5911 }
5912
5913 .yatra-carousel-item .yatra-trip-location {
5914 color: #6b7280;
5915 }
5916
5917 .yatra-carousel-item .yatra-trip-rating {
5918 display: flex;
5919 align-items: center;
5920 gap: 8px;
5921 margin-bottom: 16px;
5922 }
5923
5924 .yatra-carousel-item .yatra-rating-stars {
5925 display: flex;
5926 align-items: center;
5927 gap: 4px;
5928 }
5929
5930 .yatra-carousel-item .yatra-rating-value {
5931 font-size: 14px;
5932 font-weight: 600;
5933 color: #1f2937;
5934 }
5935
5936 .yatra-carousel-item .yatra-reviews-count {
5937 font-size: 13px;
5938 color: #6b7280;
5939 }
5940
5941 .yatra-carousel-item .yatra-trip-footer {
5942 display: flex;
5943 justify-content: space-between;
5944 align-items: center;
5945 margin-top: auto;
5946 padding-top: 16px;
5947 border-top: 1px solid #f3f4f6;
5948 }
5949
5950 .yatra-carousel-item .yatra-trip-price {
5951 display: flex;
5952 flex-direction: column;
5953 }
5954
5955 .yatra-carousel-item .yatra-original-price {
5956 font-size: 12px;
5957 color: #9ca3af;
5958 text-decoration: line-through;
5959 margin-bottom: 2px;
5960 }
5961
5962 .yatra-carousel-item .yatra-current-price {
5963 font-size: 22px;
5964 font-weight: 700;
5965 color: #3b82f6;
5966 line-height: 1;
5967 }
5968
5969 .yatra-carousel-item .yatra-price-note {
5970 font-size: 11px;
5971 color: #9ca3af;
5972 margin-top: 2px;
5973 }
5974
5975 .yatra-carousel-item .yatra-card-view-btn {
5976 display: inline-flex;
5977 align-items: center;
5978 justify-content: center;
5979 padding: 10px 16px;
5980 background: #3b82f6;
5981 color: #fff !important;
5982 border: none;
5983 border-radius: 6px;
5984 font-size: 13px;
5985 font-weight: 600;
5986 cursor: pointer;
5987 transition: all 0.2s;
5988 text-decoration: none !important;
5989 white-space: nowrap;
5990 }
5991
5992 .yatra-carousel-item .yatra-card-view-btn:hover {
5993 background: #2563eb;
5994 transform: translateY(-1px);
5995 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
5996 }
5997
5998 /* ============================================
5999 REVIEWS SECTION - UNIFIED SPACING
6000 Outer width: see .yatra-single-trip .yatra-reviews-section (top of file). Inner fills the section.
6001 ============================================ */
6002 .yatra-reviews-section {
6003 padding-top: var(--yatra-section-gap);
6004 padding-bottom: var(--yatra-section-gap);
6005 background: #fff;
6006 border-top: 1px solid #e5e7eb;
6007 }
6008
6009 /* Inner wrapper: use full content width of the section (no second max-width / no double horizontal inset) */
6010 .yatra-single-trip .yatra-reviews-section > .yatra-reviews-section-container {
6011 width: 100%;
6012 max-width: 100%;
6013 margin-left: 0;
6014 margin-right: 0;
6015 padding-left: 0;
6016 padding-right: 0;
6017 box-sizing: border-box;
6018 }
6019
6020 .yatra-reviews-section .yatra-reviews-header {
6021 margin-bottom: var(--yatra-element-gap);
6022 }
6023
6024 .yatra-reviews-section-title {
6025 display: flex;
6026 align-items: center;
6027 gap: var(--yatra-tiny-gap);
6028 font-size: 28px;
6029 font-weight: 700;
6030 color: #111827;
6031 margin: 0;
6032 }
6033
6034 .yatra-reviews-section-icon {
6035 width: 32px;
6036 height: 32px;
6037 color: #fbbf24;
6038 }
6039
6040 .yatra-reviews-section .yatra-reviews-container {
6041 display: grid;
6042 grid-template-columns: 320px 1fr;
6043 gap: var(--yatra-section-gap);
6044 align-items: start;
6045 }
6046
6047 @media (max-width: 900px) {
6048 .yatra-reviews-section .yatra-reviews-container {
6049 grid-template-columns: 1fr;
6050 gap: var(--yatra-element-gap);
6051 }
6052 }
6053
6054 /* Rating Distribution Styles */
6055 .yatra-rating-distribution {
6056 margin-top: 24px;
6057 }
6058
6059 .yatra-breakdown-star {
6060 font-size: 14px;
6061 color: #d1d5db;
6062 line-height: 1;
6063 }
6064
6065 .yatra-breakdown-star.filled {
6066 color: #fbbf24;
6067 }
6068
6069 .yatra-rating-distribution-title {
6070 font-size: 14px;
6071 font-weight: 600;
6072 color: #374151;
6073 margin: 0 0 16px 0;
6074 }
6075
6076 .yatra-rating-row {
6077 display: flex;
6078 align-items: center;
6079 gap: 12px;
6080 margin-bottom: 8px;
6081 }
6082
6083 .yatra-rating-star-label {
6084 display: flex;
6085 gap: 1px;
6086 width: 80px;
6087 flex-shrink: 0;
6088 }
6089
6090 .yatra-rating-bar {
6091 flex: 1;
6092 height: 8px;
6093 background: #e5e7eb;
6094 border-radius: 4px;
6095 overflow: hidden;
6096 }
6097
6098 .yatra-rating-bar-fill {
6099 height: 100%;
6100 background: var(--yatra-star, #fbbf24);
6101 border-radius: 4px;
6102 transition: width 0.3s ease;
6103 }
6104
6105 .yatra-rating-count {
6106 font-size: 13px;
6107 color: #6b7280;
6108 width: 24px;
6109 text-align: right;
6110 flex-shrink: 0;
6111 }
6112
6113 /* No Reviews State */
6114 .yatra-reviews-section .yatra-no-reviews-message {
6115 text-align: center;
6116 padding: 48px 24px;
6117 background: #f9fafb;
6118 border-radius: 12px;
6119 border: 1px dashed #d1d5db;
6120 }
6121
6122 .yatra-no-reviews-icon {
6123 width: 48px;
6124 height: 48px;
6125 margin: 0 auto 16px;
6126 color: #9ca3af;
6127 display: flex;
6128 align-items: center;
6129 justify-content: center;
6130 }
6131
6132 .yatra-no-reviews-icon svg {
6133 width: 100%;
6134 height: 100%;
6135 flex-shrink: 0;
6136 }
6137
6138 .yatra-reviews-section .yatra-no-reviews-message p {
6139 color: #6b7280;
6140 font-size: 15px;
6141 margin: 0;
6142 }
6143
6144 /* Reviews List in Full Width Section */
6145 .yatra-reviews-section .yatra-reviews-items {
6146 display: flex;
6147 flex-direction: column;
6148 gap: var(--yatra-element-gap);
6149 }
6150
6151 .yatra-reviews-section .yatra-review-item {
6152 padding: var(--yatra-element-gap);
6153 background: #f9fafb;
6154 border-radius: 12px;
6155 border: 1px solid #e5e7eb;
6156 }
6157
6158 @media (max-width: 768px) {
6159 .yatra-reviews-section-title {
6160 font-size: 22px;
6161 }
6162 }
6163
6164 /* ============================================
6165 BOOKING INFORMATION SECTION
6166 ============================================ */
6167 .yatra-booking-info-grid {
6168 display: grid;
6169 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
6170 gap: 24px;
6171 margin-top: 24px;
6172 }
6173
6174 .yatra-booking-info-card {
6175 background: #f9fafb;
6176 border-radius: 12px;
6177 padding: 24px;
6178 border: 1px solid #e5e7eb;
6179 text-align: center;
6180 transition: all 0.3s ease;
6181 }
6182
6183 .yatra-booking-info-card:hover {
6184 background: #fff;
6185 box-shadow: 0 4px 12px rgba(0,0,0,0.08);
6186 transform: translateY(-2px);
6187 }
6188
6189 .yatra-booking-info-icon {
6190 width: 56px;
6191 height: 56px;
6192 margin: 0 auto 16px;
6193 display: flex;
6194 align-items: center;
6195 justify-content: center;
6196 background: #eff6ff;
6197 border-radius: 12px;
6198 color: #3b82f6;
6199 }
6200
6201 .yatra-booking-info-icon svg {
6202 width: 28px;
6203 height: 28px;
6204 }
6205
6206 .yatra-booking-info-title {
6207 font-size: 18px;
6208 font-weight: 700;
6209 color: #111827;
6210 margin-bottom: 8px;
6211 }
6212
6213 .yatra-booking-info-desc {
6214 font-size: 14px;
6215 color: #6b7280;
6216 line-height: 1.6;
6217 margin: 0;
6218 }
6219
6220 .yatra-booking-info-link {
6221 color: #3b82f6;
6222 text-decoration: none;
6223 font-weight: 500;
6224 }
6225
6226 .yatra-booking-info-link:hover {
6227 text-decoration: underline;
6228 }
6229
6230 /* ============================================
6231 TESTIMONIALS
6232 ============================================ */
6233 .yatra-trip-testimonials {
6234 display: grid;
6235 grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
6236 gap: 24px;
6237 margin-top: 32px;
6238 }
6239
6240 .yatra-testimonial-card {
6241 background: #f9fafb;
6242 border-radius: 16px;
6243 padding: 28px;
6244 border-left: 4px solid #3b82f6;
6245 transition: all 0.3s ease;
6246 }
6247
6248 .yatra-testimonial-card:hover {
6249 background: #fff;
6250 box-shadow: 0 4px 20px rgba(0,0,0,0.08);
6251 transform: translateY(-4px);
6252 }
6253
6254 .yatra-testimonial-rating {
6255 color: #fbbf24;
6256 font-size: 18px;
6257 margin-bottom: 16px;
6258 letter-spacing: 2px;
6259 }
6260
6261 .yatra-testimonial-text {
6262 font-size: 15px;
6263 line-height: 1.8;
6264 color: #374151;
6265 margin: 0 0 20px 0;
6266 font-style: italic;
6267 }
6268
6269 .yatra-testimonial-author {
6270 display: flex;
6271 align-items: center;
6272 gap: 16px;
6273 }
6274
6275 .yatra-testimonial-avatar {
6276 width: 52px;
6277 height: 52px;
6278 border-radius: 50%;
6279 background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
6280 display: flex;
6281 align-items: center;
6282 justify-content: center;
6283 color: #fff;
6284 font-weight: 700;
6285 font-size: 20px;
6286 flex-shrink: 0;
6287 }
6288
6289 .yatra-testimonial-info {
6290 flex: 1;
6291 }
6292
6293 .yatra-testimonial-name {
6294 font-size: 16px;
6295 font-weight: 700;
6296 color: #111827;
6297 margin: 0 0 4px 0;
6298 }
6299
6300 .yatra-testimonial-location {
6301 font-size: 14px;
6302 color: #6b7280;
6303 margin: 0;
6304 }
6305
6306 /* ============================================
6307 REVIEW SECTION STYLES (Professional Design)
6308 ============================================ */
6309 .yatra-reviews-header {
6310 margin-bottom: 32px;
6311 }
6312
6313 .yatra-reviews-divider {
6314 height: 2px;
6315 background: #3b82f6;
6316 margin-top: 16px;
6317 width: 100%;
6318 }
6319
6320 .yatra-reviews-container {
6321 display: grid;
6322 grid-template-columns: 320px 1fr;
6323 gap: 48px;
6324 margin-bottom: 40px;
6325 }
6326
6327 /* Left: Overall Rating Summary */
6328 .yatra-reviews-summary {
6329 position: sticky;
6330 top: 100px;
6331 height: fit-content;
6332 }
6333
6334 .yatra-overall-rating {
6335 text-align: center;
6336 padding-bottom: 32px;
6337 border-bottom: 1px solid #e5e7eb;
6338 margin-bottom: 24px;
6339 }
6340
6341 .yatra-overall-rating-label {
6342 font-size: 12px;
6343 font-weight: 600;
6344 color: #6b7280;
6345 margin: 0 0 16px 0;
6346 text-transform: uppercase;
6347 letter-spacing: 0.5px;
6348 }
6349
6350 .yatra-overall-rating-score {
6351 display: flex;
6352 align-items: baseline;
6353 justify-content: center;
6354 gap: 2px;
6355 margin-bottom: 12px;
6356 }
6357
6358 .yatra-rating-big {
6359 font-size: 56px;
6360 font-weight: 700;
6361 color: #1f2937;
6362 line-height: 1;
6363 }
6364
6365 .yatra-rating-max {
6366 font-size: 24px;
6367 font-weight: 400;
6368 color: #6b7280;
6369 }
6370
6371 .yatra-overall-stars {
6372 display: flex;
6373 justify-content: center;
6374 gap: 4px;
6375 margin-bottom: 8px;
6376 }
6377
6378 .yatra-star-icon {
6379 font-size: 28px;
6380 color: #d1d5db;
6381 }
6382
6383 .yatra-star-icon.filled {
6384 color: var(--yatra-star, #fbbf24);
6385 }
6386
6387 .yatra-star-icon.half {
6388 background: linear-gradient(
6389 90deg,
6390 var(--yatra-star, #fbbf24) 50%,
6391 #d1d5db 50%
6392 );
6393 -webkit-background-clip: text;
6394 -webkit-text-fill-color: transparent;
6395 background-clip: text;
6396 color: transparent;
6397 }
6398
6399 .yatra-reviews-based-on {
6400 font-size: 14px;
6401 color: #6b7280;
6402 margin: 0;
6403 }
6404
6405 /* Review Categories */
6406 .yatra-review-categories {
6407 padding: 0;
6408 }
6409
6410 .yatra-review-categories-title {
6411 font-size: 14px;
6412 font-weight: 600;
6413 color: #1f2937;
6414 margin: 0 0 20px 0;
6415 }
6416
6417 .yatra-review-category {
6418 display: flex;
6419 align-items: center;
6420 gap: 12px;
6421 margin-bottom: 16px;
6422 }
6423
6424 .yatra-category-name {
6425 width: 120px;
6426 font-size: 14px;
6427 color: #374151;
6428 flex-shrink: 0;
6429 }
6430
6431 .yatra-category-bar {
6432 flex: 1;
6433 height: 8px;
6434 background: #e5e7eb;
6435 border-radius: 4px;
6436 overflow: hidden;
6437 }
6438
6439 .yatra-category-bar-fill {
6440 height: 100%;
6441 background: #1e3a5f;
6442 border-radius: 4px;
6443 transition: width 0.3s ease;
6444 }
6445
6446 .yatra-category-score {
6447 width: 40px;
6448 font-size: 14px;
6449 color: #6b7280;
6450 text-align: right;
6451 flex-shrink: 0;
6452 }
6453
6454 /* Right: Reviews List */
6455 .yatra-reviews-list {
6456 min-width: 0;
6457 }
6458
6459 .yatra-reviews-toolbar {
6460 display: flex;
6461 align-items: center;
6462 gap: 12px;
6463 margin-bottom: 24px;
6464 }
6465
6466 .yatra-reviews-sort {
6467 display: flex;
6468 align-items: center;
6469 gap: 8px;
6470 }
6471
6472 .yatra-sort-label {
6473 font-size: 14px;
6474 color: #6b7280;
6475 }
6476
6477 .yatra-sort-select {
6478 padding: 10px 36px 10px 16px;
6479 border: 1px solid #d1d5db;
6480 border-radius: 8px;
6481 font-size: 14px;
6482 color: #1f2937;
6483 background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
6484 cursor: pointer;
6485 appearance: none;
6486 -webkit-appearance: none;
6487 }
6488
6489 .yatra-sort-select:focus {
6490 outline: none;
6491 border-color: #3b82f6;
6492 }
6493
6494 .yatra-filter-btn {
6495 display: flex;
6496 align-items: center;
6497 gap: 6px;
6498 padding: 10px 16px;
6499 border: 1px solid #d1d5db;
6500 border-radius: 8px;
6501 background: #fff;
6502 font-size: 14px;
6503 color: #374151;
6504 cursor: pointer;
6505 transition: all 0.2s;
6506 }
6507
6508 .yatra-filter-btn:hover {
6509 border-color: #9ca3af;
6510 background: #f9fafb;
6511 }
6512
6513 /* Review Items */
6514 .yatra-reviews-items {
6515 display: flex;
6516 flex-direction: column;
6517 gap: 16px;
6518 }
6519
6520 .yatra-review-item {
6521 padding: 20px 24px;
6522 background: #fff;
6523 border: 1px solid #e5e7eb;
6524 border-radius: 12px;
6525 transition: box-shadow 0.2s ease, border-color 0.2s ease;
6526 }
6527
6528 .yatra-review-item:hover {
6529 border-color: #d1d5db;
6530 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
6531 }
6532
6533 .yatra-review-header {
6534 display: flex;
6535 align-items: flex-start;
6536 justify-content: space-between;
6537 margin-bottom: 16px;
6538 }
6539
6540 .yatra-review-header-left {
6541 display: flex;
6542 align-items: center;
6543 gap: 14px;
6544 flex: 1;
6545 }
6546
6547 .yatra-review-avatar {
6548 width: 44px;
6549 height: 44px;
6550 border-radius: 50%;
6551 display: flex;
6552 align-items: center;
6553 justify-content: center;
6554 color: #fff;
6555 font-size: 16px;
6556 font-weight: 600;
6557 flex-shrink: 0;
6558 background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
6559 }
6560
6561 .yatra-review-author-info {
6562 flex: 1;
6563 min-width: 0;
6564 }
6565
6566 .yatra-review-author-top {
6567 display: flex;
6568 align-items: center;
6569 gap: 10px;
6570 margin-bottom: 4px;
6571 }
6572
6573 .yatra-review-author-name {
6574 font-size: 15px;
6575 font-weight: 600;
6576 color: #1f2937;
6577 }
6578
6579 .yatra-verified-badge {
6580 display: inline-flex;
6581 align-items: center;
6582 gap: 4px;
6583 padding: 2px 8px;
6584 background: #ecfdf5;
6585 border-radius: 20px;
6586 font-size: 11px;
6587 font-weight: 500;
6588 color: #059669;
6589 }
6590
6591 .yatra-verified-badge .yatra-icon-xs {
6592 width: 12px;
6593 height: 12px;
6594 }
6595
6596 .yatra-review-meta {
6597 display: flex;
6598 align-items: center;
6599 gap: 8px;
6600 font-size: 13px;
6601 color: #6b7280;
6602 }
6603
6604 .yatra-review-author-location {
6605 font-weight: 400;
6606 color: #6b7280;
6607 }
6608
6609 .yatra-review-stars {
6610 display: flex;
6611 align-items: center;
6612 gap: 2px;
6613 }
6614
6615 .yatra-star-sm {
6616 font-size: 14px;
6617 color: #d1d5db;
6618 }
6619
6620 .yatra-star-sm.filled {
6621 color: #fbbf24;
6622 }
6623
6624 .yatra-review-rating-num {
6625 margin-left: 6px;
6626 font-size: 13px;
6627 font-weight: 600;
6628 color: #1f2937;
6629 }
6630
6631 .yatra-review-more-btn {
6632 width: 32px;
6633 height: 32px;
6634 display: flex;
6635 align-items: center;
6636 justify-content: center;
6637 border: none;
6638 background: transparent;
6639 color: #9ca3af;
6640 border-radius: 6px;
6641 cursor: pointer;
6642 transition: all 0.2s;
6643 }
6644
6645 .yatra-review-more-btn:hover {
6646 background: #f3f4f6;
6647 color: #6b7280;
6648 }
6649
6650 .yatra-review-body {
6651 padding-left: 58px;
6652 }
6653
6654 .yatra-review-title {
6655 font-size: 15px;
6656 font-weight: 600;
6657 color: #1f2937;
6658 margin: 0 0 6px 0;
6659 line-height: 1.4;
6660 }
6661
6662 .yatra-review-content {
6663 font-size: 14px;
6664 line-height: 1.7;
6665 color: #4b5563;
6666 margin: 0;
6667 }
6668
6669 /* Review Author Row - Legacy support */
6670 .yatra-review-author-row {
6671 display: flex;
6672 align-items: flex-start;
6673 gap: 14px;
6674 margin-bottom: 16px;
6675 }
6676
6677 /* Load More */
6678 .yatra-reviews-load-more {
6679 padding-top: 24px;
6680 }
6681
6682 .yatra-load-more-btn {
6683 width: 100%;
6684 padding: 14px 24px;
6685 border: 1px solid #d1d5db;
6686 border-radius: 8px;
6687 background: #fff;
6688 font-size: 15px;
6689 font-weight: 500;
6690 color: #374151;
6691 cursor: pointer;
6692 transition: all 0.2s;
6693 }
6694
6695 .yatra-load-more-btn:hover {
6696 border-color: #9ca3af;
6697 background: #f9fafb;
6698 }
6699
6700 .yatra-no-reviews-message {
6701 text-align: center;
6702 padding: 40px;
6703 background: #f9fafb;
6704 border-radius: 12px;
6705 color: #6b7280;
6706 }
6707
6708 /* Responsive */
6709 @media (max-width: 968px) {
6710 .yatra-reviews-container {
6711 grid-template-columns: 1fr;
6712 gap: 32px;
6713 }
6714
6715 .yatra-reviews-summary {
6716 position: static;
6717 display: grid;
6718 grid-template-columns: 1fr 1fr;
6719 gap: 24px;
6720 padding: 24px;
6721 background: #f9fafb;
6722 border-radius: 12px;
6723 }
6724
6725 .yatra-overall-rating {
6726 padding-bottom: 0;
6727 border-bottom: none;
6728 margin-bottom: 0;
6729 border-right: 1px solid #e5e7eb;
6730 padding-right: 24px;
6731 }
6732
6733 .yatra-review-categories {
6734 padding-left: 24px;
6735 }
6736 }
6737
6738 @media (max-width: 640px) {
6739 .yatra-reviews-summary {
6740 grid-template-columns: 1fr;
6741 }
6742
6743 .yatra-overall-rating {
6744 border-right: none;
6745 padding-right: 0;
6746 padding-bottom: 24px;
6747 border-bottom: 1px solid #e5e7eb;
6748 margin-bottom: 24px;
6749 }
6750
6751 .yatra-review-categories {
6752 padding-left: 0;
6753 }
6754
6755 .yatra-reviews-toolbar {
6756 flex-wrap: wrap;
6757 }
6758
6759 .yatra-reviews-sort {
6760 width: 100%;
6761 }
6762
6763 .yatra-sort-select {
6764 flex: 1;
6765 }
6766 }
6767
6768 .yatra-review-form-section {
6769 margin-top: 40px;
6770 padding-top: 40px;
6771 padding-bottom: var(--yatra-element-gap);
6772 border-top: 1px solid #e5e7eb;
6773 }
6774
6775 .yatra-review-form-title {
6776 font-size: 20px;
6777 font-weight: 700;
6778 color: #1f2937;
6779 margin: 0 0 24px 0;
6780 }
6781
6782 .yatra-review-login-notice,
6783 .yatra-review-booking-notice,
6784 .yatra-review-already-notice {
6785 padding: 20px 24px;
6786 background: #f3f4f6;
6787 border-radius: 12px;
6788 color: #4b5563;
6789 font-size: 15px;
6790 }
6791
6792 .yatra-review-login-notice a {
6793 color: #3b82f6;
6794 font-weight: 600;
6795 text-decoration: none;
6796 }
6797
6798 .yatra-review-login-notice a:hover {
6799 text-decoration: underline;
6800 }
6801
6802 .yatra-review-form {
6803 display: flex;
6804 flex-direction: column;
6805 gap: 24px;
6806 }
6807
6808 .yatra-form-field {
6809 display: flex;
6810 flex-direction: column;
6811 gap: 8px;
6812 }
6813
6814 .yatra-form-label {
6815 font-size: 14px;
6816 font-weight: 600;
6817 color: #374151;
6818 }
6819
6820 .yatra-required {
6821 color: #ef4444;
6822 }
6823
6824 .yatra-rating-field .yatra-star-rating-input {
6825 display: flex;
6826 flex-direction: row;
6827 justify-content: flex-start;
6828 gap: 4px;
6829 }
6830
6831 .yatra-star-rating-input input {
6832 display: none;
6833 }
6834
6835 .yatra-star-label {
6836 font-size: 32px;
6837 color: #d1d5db;
6838 cursor: pointer;
6839 transition: color 0.2s;
6840 }
6841
6842 .yatra-star-rating-input .yatra-star-label.selected,
6843 .yatra-star-rating-input .yatra-star-label.hover {
6844 color: #fbbf24;
6845 }
6846
6847 .yatra-star-rating-input input:disabled + .yatra-star-label {
6848 cursor: not-allowed;
6849 opacity: 0.5;
6850 }
6851
6852 /* Ensure stars are clickable */
6853 .yatra-star-rating-input .yatra-star-label {
6854 position: relative;
6855 z-index: 1;
6856 user-select: none;
6857 -webkit-user-select: none;
6858 }
6859
6860 .yatra-field-hint {
6861 font-size: 12px;
6862 color: #9ca3af;
6863 margin: 0;
6864 }
6865
6866 .yatra-form-input,
6867 .yatra-form-textarea {
6868 padding: 12px 16px;
6869 border: 1px solid #d1d5db;
6870 border-radius: 8px;
6871 font-size: 15px;
6872 color: #1f2937;
6873 transition: all 0.2s;
6874 }
6875
6876 .yatra-form-input:focus,
6877 .yatra-form-textarea:focus {
6878 outline: none;
6879 border-color: #3b82f6;
6880 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
6881 }
6882
6883 .yatra-form-textarea {
6884 resize: vertical;
6885 min-height: 120px;
6886 }
6887
6888 .yatra-review-submit-btn {
6889 display: inline-flex;
6890 align-items: center;
6891 justify-content: center;
6892 gap: 8px;
6893 padding: 14px 28px;
6894 background: #3b82f6;
6895 color: #fff;
6896 border: none;
6897 border-radius: 8px;
6898 font-size: 15px;
6899 font-weight: 600;
6900 cursor: pointer;
6901 transition: all 0.2s;
6902 width: fit-content;
6903 }
6904
6905 .yatra-review-submit-btn:hover {
6906 background: #2563eb;
6907 transform: translateY(-1px);
6908 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
6909 }
6910
6911 .yatra-review-moderation-notice {
6912 font-size: 13px;
6913 color: #6b7280;
6914 margin: 8px 0 0 0;
6915 font-style: italic;
6916 }
6917
6918 .yatra-review-message {
6919 padding: 16px 20px;
6920 border-radius: 8px;
6921 margin-bottom: 20px;
6922 font-size: 14px;
6923 }
6924
6925 .yatra-review-message p {
6926 margin: 0;
6927 padding: 0;
6928 }
6929
6930 .yatra-review-message-success {
6931 background: #dcfce7;
6932 color: #166534;
6933 border: 1px solid #86efac;
6934 }
6935
6936 .yatra-review-message-error {
6937 background: #fef2f2;
6938 color: #991b1b;
6939 border: 1px solid #fca5a5;
6940 }
6941
6942 /* Edit Review Notice */
6943 .yatra-review-edit-notice {
6944 display: flex;
6945 align-items: center;
6946 gap: 10px;
6947 padding: 12px 16px;
6948 background: #eff6ff;
6949 border: 1px solid #bfdbfe;
6950 border-radius: 8px;
6951 margin-bottom: 20px;
6952 color: #1e40af;
6953 font-size: 14px;
6954 }
6955
6956 .yatra-review-edit-notice svg {
6957 flex-shrink: 0;
6958 color: #3b82f6;
6959 }
6960
6961 .yatra-review-edit-notice p {
6962 margin: 0;
6963 }
6964
6965 .yatra-loading-spinner {
6966 display: inline-block;
6967 width: 16px;
6968 height: 16px;
6969 border: 2px solid rgba(255, 255, 255, 0.3);
6970 border-radius: 50%;
6971 border-top-color: #fff;
6972 animation: yatra-spin 0.8s linear infinite;
6973 }
6974
6975 @keyframes yatra-spin {
6976 to {
6977 transform: rotate(360deg);
6978 }
6979 }
6980
6981 /* Review form responsive */
6982 @media (max-width: 768px) {
6983 .yatra-review-summary {
6984 padding: 24px;
6985 }
6986
6987 .yatra-review-summary-number {
6988 font-size: 36px;
6989 }
6990
6991 .yatra-star-label {
6992 font-size: 28px;
6993 }
6994
6995 .yatra-review-form-section {
6996 margin-top: 32px;
6997 padding-top: 32px;
6998 }
6999 }
7000
7001 /* ============================================
7002 REQUIREMENTS & POLICIES
7003 ============================================ */
7004 .yatra-requirements-grid {
7005 display: grid;
7006 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
7007 gap: 24px;
7008 margin-top: 32px;
7009 }
7010
7011 .yatra-requirement-card {
7012 background: #f9fafb;
7013 border-radius: 12px;
7014 padding: 24px;
7015 border: 1px solid #e5e7eb;
7016 }
7017
7018 .yatra-requirement-title {
7019 font-size: 18px;
7020 font-weight: 700;
7021 color: #111827;
7022 margin: 0 0 16px 0;
7023 display: flex;
7024 align-items: center;
7025 gap: 10px;
7026 }
7027
7028 .yatra-requirement-icon {
7029 width: 24px;
7030 height: 24px;
7031 color: #3b82f6;
7032 }
7033
7034 .yatra-requirement-content {
7035 font-size: 15px;
7036 line-height: 1.7;
7037 color: #4b5563;
7038 margin: 0;
7039 }
7040
7041 /* ============================================
7042 ACCOMMODATION & TRANSPORTATION
7043 ============================================ */
7044 .yatra-accommodation-transport {
7045 display: grid;
7046 grid-template-columns: 1fr 1fr;
7047 gap: 32px;
7048 margin-top: 32px;
7049 }
7050
7051 .yatra-accommodation-card,
7052 .yatra-transport-card {
7053 background: #f9fafb;
7054 border-radius: 12px;
7055 padding: 24px;
7056 border: 1px solid #e5e7eb;
7057 }
7058
7059 .yatra-accommodation-title,
7060 .yatra-transport-title {
7061 font-size: 20px;
7062 font-weight: 700;
7063 color: #111827;
7064 margin: 0 0 16px 0;
7065 display: flex;
7066 align-items: center;
7067 gap: 12px;
7068 }
7069
7070 .yatra-accommodation-icon,
7071 .yatra-transport-icon {
7072 width: 24px;
7073 height: 24px;
7074 color: #3b82f6;
7075 }
7076
7077 .yatra-accommodation-details,
7078 .yatra-transport-details {
7079 font-size: 15px;
7080 line-height: 1.8;
7081 color: #374151;
7082 margin: 0;
7083 }
7084
7085 /* ============================================
7086 RESPONSIVE
7087 ============================================ */
7088 @media (max-width: 1024px) {
7089 .yatra-trip-container {
7090 grid-template-columns: 1fr;
7091 gap: var(--yatra-element-gap);
7092 }
7093
7094 .yatra-trip-sidebar {
7095 position: static;
7096 order: -1;
7097 }
7098
7099 .yatra-enquiry-form-grid {
7100 grid-template-columns: 1fr 1fr;
7101 }
7102
7103 .yatra-trip-hero-title {
7104 font-size: 2.75rem;
7105 }
7106
7107 .yatra-included-excluded {
7108 grid-template-columns: 1fr;
7109 }
7110
7111 .yatra-accommodation-transport {
7112 grid-template-columns: 1fr;
7113 }
7114
7115 .yatra-spec-sheet > .yatra-trip-quick-facts {
7116 grid-template-columns: repeat(3, 1fr);
7117 gap: 1px;
7118 padding: 0;
7119 }
7120
7121 .yatra-hero-images {
7122 grid-template-columns: 1fr;
7123 }
7124
7125 .yatra-hero-side-images {
7126 flex-direction: row;
7127 overflow-x: auto;
7128 gap: 12px;
7129 }
7130
7131 .yatra-side-image-item {
7132 min-width: 200px;
7133 flex-shrink: 0;
7134 }
7135
7136 .yatra-trip-hero-title-new {
7137 font-size: 2rem;
7138 }
7139 }
7140
7141 @media (max-width: 768px) {
7142 .yatra-trip-hero {
7143 height: 65vh;
7144 min-height: 550px;
7145 max-height: 650px;
7146 }
7147
7148 /* Enhanced mobile sticky navigation */
7149 .yatra-sticky-nav-container {
7150 gap: var(--yatra-tiny-gap);
7151 padding: 0 var(--yatra-container-padding);
7152 scroll-behavior: smooth;
7153 scrollbar-width: none; /* Firefox */
7154 -ms-overflow-style: none; /* IE/Edge */
7155 }
7156
7157 .yatra-sticky-nav-container::-webkit-scrollbar {
7158 display: none; /* Chrome/Safari */
7159 }
7160
7161 .yatra-sticky-nav-item {
7162 font-size: 12px;
7163 padding: 12px 8px;
7164 white-space: nowrap;
7165 flex-shrink: 0;
7166 min-width: fit-content;
7167 }
7168
7169 .yatra-sticky-nav-item svg {
7170 width: 16px;
7171 height: 16px;
7172 }
7173
7174 .yatra-sticky-nav-label {
7175 display: none; /* Hide text on very small screens; icon + aria-label remain */
7176 }
7177
7178 /* Show text on slightly larger mobile devices */
7179 @media (min-width: 480px) {
7180 .yatra-sticky-nav-label {
7181 display: inline;
7182 }
7183 .yatra-sticky-nav-item {
7184 padding: 12px 12px;
7185 }
7186 }
7187
7188 /* Hide original sidebar on mobile, show sticky version */
7189 .yatra-trip-sidebar {
7190 display: none !important;
7191 position: static !important;
7192 order: unset !important;
7193 }
7194
7195 .yatra-trip-main {
7196 width: 100%;
7197 max-width: none;
7198 }
7199
7200 .yatra-trip-container {
7201 grid-template-columns: 1fr;
7202 }
7203
7204 .yatra-trip-hero-title {
7205 font-size: 2.25rem;
7206 }
7207
7208 .yatra-trip-hero-subtitle {
7209 font-size: 1.125rem;
7210 }
7211
7212 .yatra-spec-sheet > .yatra-trip-quick-facts {
7213 grid-template-columns: repeat(2, 1fr);
7214 gap: 1px;
7215 padding: 0;
7216 }
7217
7218 .yatra-trip-quick-facts .yatra-rating-display {
7219 flex-direction: column;
7220 align-items: flex-start;
7221 gap: 4px;
7222 }
7223
7224 .yatra-trip-hero-new {
7225 padding-top: var(--yatra-hero-mobile-padding-top, 16px);
7226 padding-bottom: var(--yatra-hero-mobile-padding-bottom, 20px);
7227 padding-left: var(--yatra-container-padding);
7228 padding-right: var(--yatra-container-padding);
7229 }
7230
7231 .yatra-trip-hero-title-new {
7232 font-size: 1.75rem;
7233 }
7234
7235 .yatra-hero-meta {
7236 flex-wrap: wrap;
7237 gap: 8px;
7238 }
7239
7240 .yatra-hero-rating {
7241 flex-wrap: wrap;
7242 gap: 8px;
7243 }
7244
7245 .yatra-hero-location,
7246 .yatra-hero-duration {
7247 font-size: 14px;
7248 }
7249
7250 .yatra-hero-breadcrumb {
7251 font-size: 12px;
7252 margin-bottom: 10px;
7253 }
7254
7255 .yatra-hero-breadcrumb-current {
7256 font-weight: 400;
7257 }
7258
7259 .yatra-hero-images {
7260 gap: 12px;
7261 }
7262
7263 .yatra-hero-discount-tag {
7264 top: 12px;
7265 left: 12px;
7266 padding: 8px 14px;
7267 font-size: 12px;
7268 }
7269
7270 .yatra-hero-book-now-btn {
7271 padding: 12px 20px;
7272 font-size: 14px;
7273 }
7274
7275 .yatra-sticky-nav-container {
7276 gap: var(--yatra-element-gap);
7277 padding: 0 var(--yatra-container-padding);
7278 }
7279
7280 .yatra-sticky-nav-item {
7281 font-size: 13px;
7282 padding: 14px 0;
7283 }
7284
7285 .yatra-sticky-nav-price {
7286 font-size: 16px;
7287 }
7288
7289 .yatra-hero-side-images {
7290 flex-direction: row;
7291 overflow-x: auto;
7292 gap: 12px;
7293 -webkit-overflow-scrolling: touch;
7294 }
7295
7296 .yatra-side-image-item {
7297 min-width: 150px;
7298 }
7299
7300 .yatra-hero-tags {
7301 flex-wrap: wrap;
7302 gap: 8px;
7303 padding: 16px 0;
7304 }
7305
7306 .yatra-tag {
7307 font-size: 11px;
7308 padding: 6px 12px;
7309 }
7310
7311 .yatra-carbon-badge {
7312 margin-left: 0;
7313 width: 100%;
7314 margin-top: 8px;
7315 }
7316
7317 .yatra-quick-fact {
7318 gap: 12px;
7319 padding: 12px 14px;
7320 }
7321
7322 .yatra-quick-fact-icon svg {
7323 width: 22px;
7324 height: 22px;
7325 min-width: 22px;
7326 min-height: 22px;
7327 }
7328
7329 .yatra-quick-fact-label {
7330 font-size: 11px;
7331 margin-bottom: 4px;
7332 }
7333
7334 .yatra-quick-fact-value {
7335 font-size: 15px;
7336 }
7337
7338 .yatra-quick-fact-price {
7339 font-size: 15px;
7340 }
7341
7342 .yatra-quick-fact-price-label {
7343 font-size: 11px;
7344 margin-top: 4px;
7345 }
7346
7347 .yatra-hero-gallery-play {
7348 bottom: 20px;
7349 right: 20px;
7350 width: 60px;
7351 height: 60px;
7352 }
7353
7354 .yatra-hero-gallery-play svg {
7355 width: 24px;
7356 height: 24px;
7357 }
7358
7359 .yatra-hero-gallery-play span {
7360 font-size: 9px;
7361 }
7362
7363 .yatra-gallery-modal-content {
7364 width: 100%;
7365 height: 100vh;
7366 max-height: 100vh;
7367 border-radius: 0;
7368 }
7369
7370 .yatra-gallery-modal-prev,
7371 .yatra-gallery-modal-next {
7372 width: 40px;
7373 height: 40px;
7374 }
7375
7376 .yatra-gallery-modal-prev {
7377 left: 10px;
7378 }
7379
7380 .yatra-gallery-modal-next {
7381 right: 10px;
7382 }
7383
7384 .yatra-gallery-modal-close {
7385 top: 10px;
7386 right: 10px;
7387 width: 36px;
7388 height: 36px;
7389 }
7390
7391 /* Account for WordPress admin bar on mobile */
7392 .admin-bar .yatra-gallery-modal-close {
7393 top: 56px; /* 10px + 46px admin bar on mobile */
7394 }
7395
7396 .admin-bar .yatra-gallery-modal-content {
7397 margin-top: 46px;
7398 max-height: calc(100vh - 46px);
7399 }
7400
7401 .yatra-gallery-thumbnail {
7402 width: 60px;
7403 height: 60px;
7404 }
7405
7406 .yatra-trip-section {
7407 padding: 32px 24px;
7408 }
7409
7410 .yatra-trip-section-title {
7411 font-size: 24px;
7412 }
7413
7414 .yatra-trip-gallery {
7415 grid-template-columns: repeat(2, 1fr);
7416 }
7417
7418 .yatra-trip-testimonials {
7419 grid-template-columns: 1fr;
7420 }
7421
7422 .yatra-itinerary-day {
7423 padding-left: 60px;
7424 }
7425
7426 .yatra-itinerary-day-content {
7427 margin-left: 56px;
7428 }
7429 }
7430
7431 @media (max-width: 480px) {
7432 .yatra-trip-hero {
7433 padding-top: 20px;
7434 }
7435
7436 .yatra-trip-hero-title {
7437 font-size: 1.875rem;
7438 }
7439
7440 .yatra-trip-section {
7441 padding: 24px 20px;
7442 }
7443
7444 .yatra-trip-section-title {
7445 font-size: 22px;
7446 }
7447
7448 .yatra-booking-card {
7449 padding: 24px;
7450 }
7451
7452 .yatra-booking-price-amount {
7453 font-size: 42px;
7454 }
7455
7456 .yatra-trip-gallery {
7457 grid-template-columns: 1fr;
7458 }
7459
7460 .yatra-spec-sheet > .yatra-trip-quick-facts {
7461 grid-template-columns: 1fr;
7462 gap: 1px;
7463 padding: 0;
7464 }
7465 }
7466
7467 /* ============================================
7468 UTILITIES
7469 ============================================ */
7470 .yatra-badge {
7471 display: inline-flex;
7472 align-items: center;
7473 gap: 6px;
7474 padding: 6px 14px;
7475 border-radius: 20px;
7476 font-size: 12px;
7477 font-weight: 600;
7478 text-transform: uppercase;
7479 letter-spacing: 0.5px;
7480 }
7481
7482 .yatra-badge-featured {
7483 background: #fef3c7;
7484 color: #92400e;
7485 }
7486
7487 .yatra-badge-popular {
7488 background: #dbeafe;
7489 color: #1e40af;
7490 }
7491
7492 .yatra-badge-new {
7493 background: #d1fae5;
7494 color: #065f46;
7495 }
7496
7497 .yatra-badge-limited {
7498 background: #fee2e2;
7499 color: #991b1b;
7500 }
7501
7502 .yatra-badge-bestseller {
7503 background: #fce7f3;
7504 color: #9f1239;
7505 }
7506
7507 /* ============================================
7508 TRIP AVAILABILITY SECTION
7509 ============================================ */
7510 .yatra-availability-section {
7511 margin-bottom: 48px;
7512 }
7513
7514 .yatra-availability-header {
7515 margin-bottom: 32px;
7516 }
7517
7518 .yatra-availability-header-top {
7519 display: flex;
7520 justify-content: space-between;
7521 align-items: center;
7522 margin-bottom: 12px;
7523 gap: 24px;
7524 }
7525
7526 .yatra-availability-sort {
7527 flex-shrink: 0;
7528 }
7529
7530 .yatra-availability-sort-select {
7531 padding: 10px 16px;
7532 border: 1px solid #e5e7eb;
7533 border-radius: 8px;
7534 font-size: 14px;
7535 font-weight: 500;
7536 color: #374151;
7537 background: #fff;
7538 cursor: pointer;
7539 transition: all 0.2s ease;
7540 min-width: 200px;
7541 }
7542
7543 .yatra-availability-sort-select:hover {
7544 border-color: #3b82f6;
7545 }
7546
7547 .yatra-availability-sort-select:focus {
7548 outline: none;
7549 border-color: #3b82f6;
7550 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
7551 }
7552
7553 .yatra-availability-subtitle {
7554 font-size: 16px;
7555 color: #6b7280;
7556 margin: 0;
7557 }
7558
7559 .yatra-availability-filters {
7560 display: flex;
7561 gap: 12px;
7562 margin-bottom: 32px;
7563 flex-wrap: wrap;
7564 }
7565
7566 .yatra-availability-filter-btn {
7567 padding: 10px 20px;
7568 border: 1px solid #e5e7eb;
7569 background: #fff;
7570 border-radius: 8px;
7571 font-size: 14px;
7572 font-weight: 500;
7573 color: #374151;
7574 cursor: pointer;
7575 transition: all 0.2s ease;
7576 }
7577
7578 .yatra-availability-filter-btn:hover {
7579 border-color: #3b82f6;
7580 color: #3b82f6;
7581 background: #eff6ff;
7582 }
7583
7584 .yatra-availability-filter-btn.active {
7585 background: #3b82f6;
7586 border-color: #3b82f6;
7587 color: #fff;
7588 }
7589
7590 /* Availability Card List */
7591 .yatra-availability-list {
7592 display: flex;
7593 flex-direction: column;
7594 gap: 20px;
7595 margin-bottom: 32px;
7596 }
7597
7598 /* Availability Card */
7599 .yatra-availability-card {
7600 background: #fff;
7601 border: 1px solid #e5e7eb;
7602 border-radius: 14px;
7603 overflow: visible;
7604 transition: all 0.2s ease;
7605 position: relative;
7606 }
7607
7608 .yatra-availability-card:hover {
7609 border-color: #d1d5db;
7610 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
7611 }
7612
7613 .yatra-availability-card.open {
7614 border-color: #bfdbfe;
7615 box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
7616 }
7617
7618 /* Selected card state - highlighted with blue border */
7619 .yatra-availability-card.selected {
7620 border-color: #3b82f6;
7621 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1), 0 10px 30px rgba(15, 23, 42, 0.08);
7622 background: #f0f9ff;
7623 }
7624
7625 .yatra-availability-card.selected .yatra-availability-card-header {
7626 background: #eff6ff;
7627 }
7628
7629 /* Card Header - Clean Modern Design */
7630 .yatra-availability-card-header {
7631 position: relative;
7632 padding: 20px 24px;
7633 cursor: pointer;
7634 user-select: none;
7635 background: #f8fafc;
7636 transition: all 0.2s ease;
7637 border-bottom: 1px solid #e2e8f0;
7638 }
7639
7640 .yatra-availability-card-header:hover {
7641 background: #f1f5f9;
7642 }
7643
7644 /* Day Trip Date Header */
7645 .yatra-card-date-header {
7646 display: flex;
7647 align-items: center;
7648 gap: 8px;
7649 font-size: 14px;
7650 font-weight: 600;
7651 color: #2563eb;
7652 margin-bottom: 12px;
7653 padding-bottom: 12px;
7654 border-bottom: 1px solid #e5e7eb;
7655 }
7656
7657 .yatra-card-date-header svg {
7658 width: 16px;
7659 height: 16px;
7660 color: #2563eb;
7661 }
7662
7663 /* Day Trip Grid - adjusted for time display */
7664 .yatra-day-trip-grid .yatra-card-header-date {
7665 font-size: 18px;
7666 font-weight: 700;
7667 }
7668
7669 .yatra-card-header-grid {
7670 display: grid;
7671 grid-template-columns: 1fr 1fr auto auto auto;
7672 gap: 20px;
7673 align-items: center;
7674 }
7675
7676 /* Badges Container - Clean Layout */
7677 .yatra-card-badges-container {
7678 position: absolute;
7679 top: -12px;
7680 right: 20px;
7681 display: flex;
7682 align-items: center;
7683 gap: 8px;
7684 z-index: 10;
7685 }
7686
7687 .yatra-card-header-item {
7688 display: flex;
7689 flex-direction: column;
7690 gap: 6px;
7691 min-width: 0;
7692 }
7693
7694 .yatra-card-header-label {
7695 font-size: 10px;
7696 font-weight: 600;
7697 color: #9ca3af;
7698 text-transform: uppercase;
7699 letter-spacing: 0.5px;
7700 line-height: 1;
7701 }
7702
7703 .yatra-card-header-date {
7704 font-size: 16px;
7705 font-weight: 700;
7706 color: #111827;
7707 line-height: 1.2;
7708 margin-bottom: 2px;
7709 }
7710
7711 .yatra-card-header-location {
7712 font-size: 13px;
7713 color: #6b7280;
7714 line-height: 1.4;
7715 font-weight: 400;
7716 white-space: nowrap;
7717 overflow: hidden;
7718 text-overflow: ellipsis;
7719 }
7720
7721 .yatra-card-header-seats {
7722 font-size: 20px;
7723 font-weight: 700;
7724 color: #111827;
7725 line-height: 1;
7726 margin-bottom: 4px;
7727 }
7728
7729 .yatra-card-header-sub {
7730 font-size: 12px;
7731 color: #9ca3af;
7732 line-height: 1.2;
7733 font-weight: 400;
7734 }
7735
7736 .yatra-card-header-price {
7737 position: relative;
7738 display: flex;
7739 flex-direction: column;
7740 align-items: flex-end;
7741 gap: 6px;
7742 flex-shrink: 0;
7743 min-width: 140px;
7744 }
7745
7746 .yatra-card-price-group {
7747 display: flex;
7748 flex-direction: column;
7749 align-items: flex-end;
7750 gap: 2px;
7751 }
7752
7753 .yatra-sale-price {
7754 font-size: 20px;
7755 font-weight: 700;
7756 color: #111827;
7757 line-height: 1;
7758 letter-spacing: -0.5px;
7759 }
7760
7761 .yatra-price-label {
7762 font-size: 12px;
7763 color: #9ca3af;
7764 font-weight: 400;
7765 line-height: 1;
7766 }
7767
7768 .yatra-card-discount-badge {
7769 padding: 6px 12px;
7770 background: #dc2626;
7771 color: #fff;
7772 font-size: 11px;
7773 font-weight: 600;
7774 border-radius: 6px;
7775 text-transform: uppercase;
7776 letter-spacing: 0.5px;
7777 line-height: 1;
7778 white-space: nowrap;
7779 box-shadow: 0 2px 4px rgba(220, 38, 38, 0.3);
7780 }
7781
7782 .yatra-badge-discount {
7783 background: #16a34a;
7784 color: #fff;
7785 }
7786
7787 .yatra-badge-higher {
7788 background: #ef4444;
7789 color: #fff;
7790 }
7791
7792 .yatra-card-price-group {
7793 display: flex;
7794 align-items: baseline;
7795 gap: 6px;
7796 }
7797
7798 .yatra-card-price-original {
7799 font-size: 12px;
7800 color: #9ca3af;
7801 text-decoration: line-through;
7802 line-height: 1.2;
7803 }
7804
7805 .yatra-card-price-sale {
7806 font-size: 18px;
7807 font-weight: 700;
7808 color: #111827;
7809 line-height: 1.2;
7810 }
7811
7812 .yatra-card-header-arrow {
7813 display: flex;
7814 align-items: center;
7815 justify-content: center;
7816 width: 24px;
7817 height: 24px;
7818 color: #9ca3af;
7819 transition: all 0.2s ease;
7820 }
7821
7822 .yatra-card-header-arrow:hover {
7823 color: #6b7280;
7824 }
7825
7826 .yatra-availability-card.open .yatra-card-header-arrow {
7827 transform: rotate(180deg);
7828 color: #2563eb;
7829 }
7830
7831 /* Card Body */
7832 .yatra-availability-card-body {
7833 display: none;
7834 padding: 16px;
7835 background: #fefefe;
7836 border-top: 1px solid #e2e8f0;
7837 overflow: visible;
7838 position: relative;
7839 border-radius:0 0 14px 14px;
7840 }
7841
7842 .yatra-availability-card.open .yatra-availability-card-body {
7843 display: block;
7844 }
7845
7846 .yatra-card-body-content {
7847 display: flex;
7848 flex-direction: column;
7849 gap: 12px;
7850 }
7851
7852 .yatra-card-tour-header {
7853 display: flex;
7854 flex-direction: column;
7855 gap: 4px;
7856 }
7857
7858 .yatra-card-tour-title {
7859 font-size: 18px;
7860 font-weight: 600;
7861 color: #111827;
7862 margin: 0;
7863 line-height: 1.4;
7864 }
7865
7866 .yatra-card-tour-meta {
7867 display: flex;
7868 align-items: center;
7869 gap: 6px;
7870 flex-wrap: wrap;
7871 }
7872
7873 .yatra-card-tour-type {
7874 font-size: 13px;
7875 color: #3b82f6;
7876 font-weight: 500;
7877 line-height: 1.4;
7878 }
7879
7880 .yatra-card-tour-separator {
7881 font-size: 13px;
7882 color: #9ca3af;
7883 line-height: 1.4;
7884 }
7885
7886 .yatra-card-tour-location {
7887 font-size: 13px;
7888 color: #6b7280;
7889 line-height: 1.4;
7890 }
7891
7892 /* Info Grid */
7893 .yatra-card-info-grid {
7894 display: flex;
7895 flex-wrap: wrap;
7896 gap: 14px;
7897 padding: 0;
7898 background: transparent;
7899 border-radius: 0;
7900 border: none;
7901 }
7902
7903 .yatra-card-info-item {
7904 display: flex;
7905 gap: 8px;
7906 align-items: center;
7907 padding: 0;
7908 background: transparent;
7909 border: none;
7910 border-radius: 0;
7911 }
7912
7913 .yatra-card-info-icon {
7914 flex-shrink: 0;
7915 width: 18px;
7916 height: 18px;
7917 display: flex;
7918 align-items: center;
7919 justify-content: center;
7920 background: transparent;
7921 border-radius: 0;
7922 color: #2563eb;
7923 }
7924
7925 .yatra-card-info-icon svg {
7926 width: 18px;
7927 height: 18px;
7928 }
7929
7930 .yatra-card-info-content {
7931 flex: 1;
7932 display: flex;
7933 flex-direction: row;
7934 align-items: baseline;
7935 gap: 8px;
7936 }
7937
7938 .yatra-card-info-label {
7939 font-size: 13px;
7940 font-weight: 600;
7941 color: #475569;
7942 text-transform: none;
7943 letter-spacing: 0;
7944 line-height: 1.3;
7945 }
7946
7947 .yatra-card-info-value {
7948 font-size: 13px;
7949 font-weight: 700;
7950 color: #0f172a;
7951 line-height: 1.3;
7952 }
7953
7954 /* Timeline */
7955 .yatra-card-timeline {
7956 display: grid;
7957 grid-template-columns: 1fr 1fr;
7958 gap: 16px;
7959 padding: 10px;
7960 background: #f9fafb;
7961 border-radius: 8px;
7962 border: none;
7963 }
7964
7965 .yatra-timeline-item {
7966 position: relative;
7967 display: flex;
7968 gap: 10px;
7969 align-items: flex-start;
7970 }
7971
7972 .yatra-timeline-dot {
7973 flex-shrink: 0;
7974 width: 10px;
7975 height: 10px;
7976 border-radius: 50%;
7977 border: 2px solid #fff;
7978 margin-top: 20px;
7979 }
7980
7981 .yatra-timeline-dot-start {
7982 background: #10b981;
7983 box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
7984 }
7985
7986 .yatra-timeline-dot-end {
7987 background: #ef4444;
7988 box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
7989 }
7990
7991 .yatra-timeline-content {
7992 flex: 1;
7993 }
7994
7995 .yatra-timeline-label {
7996 font-size: 10px;
7997 font-weight: 600;
7998 color: #6b7280;
7999 text-transform: uppercase;
8000 letter-spacing: 0.4px;
8001 margin-bottom: 3px;
8002 line-height: 1.3;
8003 }
8004
8005 .yatra-timeline-date {
8006 font-size: 14px;
8007 font-weight: 600;
8008 color: #111827;
8009 margin-bottom: 2px;
8010 line-height: 1.3;
8011 }
8012
8013 .yatra-timeline-location {
8014 font-size: 12px;
8015 color: #6b7280;
8016 line-height: 1.4;
8017 }
8018
8019 .yatra-card-traveler-section {
8020 display: flex;
8021 flex-direction: column;
8022 gap: 8px;
8023 }
8024
8025 .yatra-card-action-steps {
8026 display: flex;
8027 align-items: center;
8028 gap: 8px;
8029 padding: 0;
8030 background: transparent;
8031 border: none;
8032 border-radius: 0;
8033 margin-top: 2px;
8034 }
8035
8036 .yatra-card-action-step {
8037 display: inline-flex;
8038 align-items: center;
8039 gap: 8px;
8040 font-size: 13px;
8041 font-weight: 600;
8042 color: #0f172a;
8043 line-height: 1.2;
8044 }
8045
8046 .yatra-card-action-step-num {
8047 width: 20px;
8048 height: 20px;
8049 display: inline-flex;
8050 align-items: center;
8051 justify-content: center;
8052 border-radius: 999px;
8053 background: #2563eb;
8054 color: #fff;
8055 font-size: 11px;
8056 font-weight: 700;
8057 flex-shrink: 0;
8058 }
8059
8060 .yatra-card-action-step-sep {
8061 color: #94a3b8;
8062 font-weight: 700;
8063 }
8064
8065 .yatra-card-action-help {
8066 font-size: 12px;
8067 color: #64748b;
8068 line-height: 1.4;
8069 margin-top: 0;
8070 }
8071
8072 .yatra-card-traveler-label {
8073 font-size: 12px;
8074 font-weight: 600;
8075 color: #374151;
8076 line-height: 1.4;
8077 }
8078
8079 .yatra-card-traveler-section .yatra-booking-field-select {
8080 width: 100%;
8081 border-color: #e5e7eb;
8082 border-radius: 12px;
8083 min-height: 52px;
8084 height: 52px;
8085 }
8086
8087 .yatra-card-traveler-section .yatra-booking-field-select:focus-within {
8088 border-color: #93c5fd;
8089 box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
8090 }
8091
8092 .yatra-card-traveler-section .yatra-booking-field-icon {
8093 color: #2563eb;
8094 }
8095
8096 /* Availability card traveler dropdown polish */
8097 .yatra-availability-card .yatra-availability-participants {
8098 width: 100%;
8099 }
8100
8101 .yatra-availability-card .yatra-availability-participants .yatra-booking-field-select {
8102 border-radius: 12px;
8103 border-color: #e5e7eb;
8104 background: #fff;
8105 min-height: 52px;
8106 height: 52px;
8107 }
8108
8109 .yatra-availability-card .yatra-availability-participants .yatra-booking-field-icon {
8110 padding: 0 14px;
8111 color: #2563eb;
8112 }
8113
8114 .yatra-availability-card .yatra-availability-participants-display {
8115 padding: 0 42px 0 0;
8116 font-size: 14px;
8117 font-weight: 600;
8118 color: #0f172a;
8119 }
8120
8121 .yatra-availability-card .yatra-select-arrow {
8122 right: 14px;
8123 width: 18px;
8124 height: 18px;
8125 color: #64748b;
8126 }
8127
8128 .yatra-availability-card .yatra-availability-quantity-selector {
8129 left: 0;
8130 right: 0;
8131 margin-top: 10px;
8132 border-radius: 14px;
8133 border-color: #e5e7eb;
8134 padding: 12px;
8135 }
8136
8137 .yatra-availability-card .yatra-quantity-row {
8138 padding: 10px 8px;
8139 border-radius: 10px;
8140 }
8141
8142 .yatra-availability-card .yatra-quantity-row:not(:last-child) {
8143 border-bottom: 1px solid #f1f5f9;
8144 margin-bottom: 2px;
8145 padding-bottom: 10px;
8146 }
8147
8148 /* Simple Travelers Display in Availability Cards */
8149 .yatra-availability-travelers-simple {
8150 display: flex;
8151 align-items: center;
8152 gap: 12px;
8153 padding: 10px 14px;
8154 background: #f9fafb;
8155 border: 1px solid #e5e7eb;
8156 border-radius: 8px;
8157 }
8158
8159 .yatra-availability-travelers-simple .yatra-booking-field-icon {
8160 flex-shrink: 0;
8161 }
8162
8163 .yatra-availability-travelers-simple .yatra-quantity-input-simple {
8164 width: 45px;
8165 font-size: 14px;
8166 font-weight: 600;
8167 color: #111827;
8168 background: transparent;
8169 border: none;
8170 }
8171
8172 .yatra-availability-travelers-simple .yatra-quantity-btn {
8173 width: 28px;
8174 height: 28px;
8175 display: flex;
8176 align-items: center;
8177 justify-content: center;
8178 background: #fff;
8179 border: 1px solid #d1d5db;
8180 border-radius: 6px;
8181 cursor: pointer;
8182 transition: all 0.15s ease;
8183 }
8184
8185 .yatra-availability-travelers-simple .yatra-quantity-btn:hover:not(:disabled) {
8186 background: #f3f4f6;
8187 border-color: #2563eb;
8188 }
8189
8190 .yatra-availability-travelers-simple .yatra-quantity-btn:disabled {
8191 opacity: 0.5;
8192 cursor: not-allowed;
8193 }
8194
8195 .yatra-availability-travelers-simple .yatra-quantity-btn svg {
8196 width: 14px;
8197 height: 14px;
8198 color: #374151;
8199 }
8200
8201 .yatra-availability-travelers-simple .yatra-travelers-label {
8202 font-size: 13px;
8203 color: #6b7280;
8204 margin-left: 4px;
8205 }
8206
8207 /* Booking Row */
8208 .yatra-card-booking-row {
8209 display: flex;
8210 gap: 10px;
8211 align-items: stretch;
8212 margin-top: 16px;
8213 padding-top: 16px;
8214 border-top: 1px solid #eef2f7;
8215 }
8216
8217 .yatra-card-total-box {
8218 flex: 1;
8219 padding: 8px 12px;
8220 background: #f8fafc;
8221 border: 1px solid #eef2f7;
8222 border-radius: 12px;
8223 display: flex;
8224 flex-direction: row;
8225 align-items: center;
8226 gap: 6px;
8227 }
8228
8229 .yatra-card-total-label {
8230 font-size: 12px;
8231 font-weight: 600;
8232 color: #6b7280;
8233 text-transform: uppercase;
8234 letter-spacing: 0.5px;
8235 white-space: nowrap;
8236 }
8237
8238 .yatra-card-total-note {
8239 font-size: 12px;
8240 color: #6b7280;
8241 white-space: nowrap;
8242 }
8243
8244 .yatra-card-total-amount {
8245 font-size: 16px;
8246 font-weight: 700;
8247 color: #3b82f6;
8248 line-height: 1;
8249 white-space: nowrap;
8250 margin-left: auto;
8251 }
8252
8253 .yatra-card-book-btn {
8254 flex: 1;
8255 padding: 12px 16px;
8256 background: #3b82f6;
8257 color: #fff;
8258 border: none;
8259 border-radius: 12px;
8260 font-size: 13px;
8261 font-weight: 600;
8262 cursor: pointer;
8263 transition: all 0.2s ease;
8264 white-space: nowrap;
8265 display: inline-flex;
8266 align-items: center;
8267 justify-content: center;
8268 gap: 10px;
8269 text-align: left;
8270 text-decoration: none;
8271 }
8272
8273 .yatra-card-book-btn svg {
8274 width: 18px;
8275 height: 18px;
8276 flex-shrink: 0;
8277 }
8278
8279 .yatra-card-book-btn-text {
8280 display: flex;
8281 flex-direction: column;
8282 align-items: flex-start;
8283 line-height: 1.1;
8284 }
8285
8286 .yatra-card-book-btn-title {
8287 font-size: 14px;
8288 font-weight: 700;
8289 color: #fff;
8290 }
8291
8292 .yatra-card-book-btn-subtitle {
8293 font-size: 11px;
8294 font-weight: 500;
8295 color: rgba(255,255,255,0.9);
8296 }
8297
8298 .yatra-card-book-btn:hover:not(:disabled),
8299 a.yatra-card-book-btn:hover {
8300 background: #2563eb;
8301 transform: translateY(-1px);
8302 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
8303 color: #fff;
8304 text-decoration: none;
8305 }
8306
8307 .yatra-card-book-btn:disabled {
8308 background: #9ca3af;
8309 cursor: not-allowed;
8310 opacity: 0.7;
8311 }
8312
8313 /* Availability Participants Select */
8314 .yatra-availability-participants {
8315 position: relative;
8316 width: 100%;
8317 cursor: pointer;
8318 }
8319
8320 .yatra-availability-participants-display {
8321 flex: 1;
8322 padding: 14px 12px 14px 0;
8323 font-size: 15px;
8324 font-weight: 500;
8325 color: #111827;
8326 cursor: pointer;
8327 user-select: none;
8328 height: 100%;
8329 display: flex;
8330 align-items: center;
8331 transition: color 0.2s ease;
8332 }
8333
8334 .yatra-availability-participants:hover .yatra-availability-participants-display {
8335 color: #3b82f6;
8336 }
8337
8338 .yatra-availability-quantity-selector {
8339 position: absolute;
8340 top: 100%;
8341 left: -12px;
8342 right: -12px;
8343 margin-top: 8px;
8344 border: 1px solid #e5e7eb;
8345 border-radius: 12px;
8346 padding: 12px;
8347 background: #fff;
8348 box-shadow: 0 10px 25px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05);
8349 z-index: 1000;
8350 display: none;
8351 max-height: 350px;
8352 overflow-y: auto;
8353 }
8354
8355 .yatra-availability-participants.active .yatra-availability-quantity-selector {
8356 display: block;
8357 animation: slideDown 0.2s ease-out;
8358 }
8359
8360 /* Responsive */
8361 @media (max-width: 1024px) {
8362 .yatra-card-header-grid {
8363 grid-template-columns: 1fr 1fr;
8364 gap: 16px;
8365 }
8366
8367 .yatra-card-header-price {
8368 grid-column: 1 / -1;
8369 align-items: flex-start;
8370 }
8371
8372 .yatra-card-header-arrow {
8373 grid-column: 2;
8374 grid-row: 1;
8375 justify-self: end;
8376 }
8377
8378 .yatra-card-body-content {
8379 gap: 16px;
8380 }
8381 }
8382
8383 @media (max-width: 768px) {
8384 .yatra-availability-card-header {
8385 padding: 14px 16px;
8386 }
8387
8388 .yatra-card-header-grid {
8389 grid-template-columns: 1fr;
8390 gap: 10px;
8391 }
8392
8393 .yatra-card-header-arrow {
8394 position: absolute;
8395 top: 14px;
8396 right: 16px;
8397 }
8398
8399 .yatra-availability-card-body {
8400 padding: 14px;
8401 }
8402
8403 .yatra-card-body-content {
8404 gap: 16px;
8405 }
8406
8407 .yatra-card-body-left {
8408 gap: 10px;
8409 }
8410
8411 .yatra-card-info-grid {
8412 grid-template-columns: 1fr;
8413 gap: 10px;
8414 padding: 10px;
8415 }
8416
8417 .yatra-card-booking-row {
8418 flex-direction: column;
8419 margin-top: 12px;
8420 padding-top: 12px;
8421 }
8422
8423 .yatra-card-book-btn {
8424 width: 100%;
8425 }
8426 }
8427
8428 .yatra-availability-toggle {
8429 border: none;
8430 background: transparent;
8431 width: 100%;
8432 border-radius:12px;
8433 }
8434
8435 /* Load More Section */
8436 .yatra-availability-load-more {
8437 display: flex;
8438 flex-direction: column;
8439 gap: 2px;
8440 min-width: 120px;
8441 flex: 1 1 0;
8442 }
8443
8444 .yatra-summary-label {
8445 font-size: 12px;
8446 color: #6b7280;
8447 text-transform: uppercase;
8448 letter-spacing: 0.5px;
8449 }
8450
8451 .yatra-summary-value {
8452 font-size: 16px;
8453 font-weight: 700;
8454 color: #0f172a;
8455 }
8456
8457 .yatra-summary-sub {
8458 font-size: 13px;
8459 color: #6b7280;
8460 }
8461
8462 .yatra-summary-price {
8463 margin-left: auto;
8464 text-align: right;
8465 flex: 0 0 auto;
8466 display: flex;
8467 flex-direction: column;
8468 align-items: flex-end;
8469 gap: 2px;
8470 min-width: 250px;
8471 }
8472
8473 .yatra-summary-price div {
8474 display: flex;
8475 align-items: baseline;
8476 justify-content: flex-end;
8477 gap: 8px;
8478 }
8479
8480 .yatra-summary-original {
8481 font-size: 13px;
8482 color: #9ca3af;
8483 text-decoration: line-through;
8484 }
8485
8486 .yatra-summary-sale {
8487 font-size: 20px;
8488 font-weight: 700;
8489 color: #111827;
8490 }
8491
8492 .yatra-summary-arrow {
8493 width: 14px;
8494 height: 14px;
8495 border-right: 2px solid #374151;
8496 border-bottom: 2px solid #374151;
8497 transform: rotate(45deg);
8498 transition: transform 0.2s ease;
8499 }
8500
8501 .yatra-availability-item.open .yatra-summary-arrow {
8502 transform: rotate(-135deg);
8503 }
8504
8505 .yatra-availability-details {
8506 display: none;
8507 border-top: 1px solid #e5e7eb;
8508 padding: 0 24px 24px;
8509 background: #f9fafb;
8510 }
8511
8512 .yatra-availability-item.open .yatra-availability-details {
8513 display: block;
8514 }
8515
8516 .yatra-availability-details-content {
8517 display: flex;
8518 flex-direction: column;
8519 gap: 20px;
8520 padding-top: 20px;
8521 }
8522
8523 .yatra-details-heading {
8524 display: flex;
8525 flex-direction: column;
8526 gap: 4px;
8527 }
8528
8529 .yatra-details-title {
8530 font-size: 18px;
8531 font-weight: 700;
8532 color: #0f172a;
8533 margin: 0;
8534 }
8535
8536 .yatra-details-subtitle {
8537 font-size: 14px;
8538 color: #3b82f6;
8539 font-weight: 600;
8540 margin: 0;
8541 }
8542
8543 .yatra-details-timeline {
8544 border-left: 2px dashed #d1d5db;
8545 padding-left: 18px;
8546 margin-left: 10px;
8547 display: flex;
8548 flex-direction: column;
8549 gap: 16px;
8550 }
8551
8552 .yatra-timeline-row {
8553 display: flex;
8554 gap: 12px;
8555 align-items: flex-start;
8556 }
8557
8558 .yatra-timeline-dot {
8559 width: 14px;
8560 height: 14px;
8561 border-radius: 50%;
8562 margin-left: -25px;
8563 margin-top: 20px;
8564 }
8565
8566 .yatra-timeline-dot.success {
8567 background: #10b981;
8568 box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
8569 }
8570
8571 .yatra-timeline-dot.danger {
8572 background: #ef4444;
8573 box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
8574 }
8575
8576 .yatra-timeline-label {
8577 font-size: 12px;
8578 color: #6b7280;
8579 text-transform: uppercase;
8580 letter-spacing: 0.4px;
8581 }
8582
8583 .yatra-timeline-meta {
8584 display: block;
8585 font-size: 13px;
8586 color: #6b7280;
8587 }
8588
8589 .yatra-details-right {
8590 border-left: 1px solid #e5e7eb;
8591 padding-left: 24px;
8592 display: flex;
8593 flex-direction: column;
8594 gap: 16px;
8595 }
8596
8597 .yatra-details-price-group {
8598 display: flex;
8599 flex-direction: column;
8600 gap: 6px;
8601 }
8602
8603 .yatra-details-price-label {
8604 font-size: 12px;
8605 color: #6b7280;
8606 text-transform: uppercase;
8607 letter-spacing: 0.4px;
8608 }
8609
8610 .yatra-details-price {
8611 display: flex;
8612 align-items: baseline;
8613 gap: 8px;
8614 }
8615
8616 .yatra-details-price-note {
8617 font-size: 12px;
8618 color: #6b7280;
8619 }
8620
8621 .yatra-availability-traveler-picker {
8622 display: flex;
8623 flex-direction: column;
8624 gap: 8px;
8625 }
8626
8627 .yatra-availability-traveler-picker .yatra-booking-field-select {
8628 width: 100%;
8629 }
8630
8631 .yatra-availability-total-row {
8632 display: flex;
8633 align-items: center;
8634 gap: 16px;
8635 width: 100%;
8636 }
8637
8638 .yatra-availability-total-price {
8639 display: flex;
8640 flex-direction: column;
8641 background: #f8fafc;
8642 border: 1px solid #e5e7eb;
8643 border-radius: 10px;
8644 padding: 10px 14px;
8645 flex: 1 1 50%;
8646 }
8647
8648 .yatra-availability-total-label {
8649 font-size: 13px;
8650 font-weight: 600;
8651 color: #374151;
8652 text-transform: uppercase;
8653 letter-spacing: 0.4px;
8654 }
8655
8656 .yatra-availability-total-note {
8657 font-size: 12px;
8658 color: #6b7280;
8659 margin-top: 2px;
8660 }
8661
8662 .yatra-availability-total-amount {
8663 font-size: 20px;
8664 font-weight: 700;
8665 color: #0f172a;
8666 }
8667
8668 .yatra-availability-book-btn {
8669 padding: 14px 18px;
8670 border-radius: 12px;
8671 border: none;
8672 background: #3b82f6;
8673 color: #fff;
8674 font-size: 15px;
8675 font-weight: 600;
8676 cursor: pointer;
8677 transition: background 0.2s ease;
8678 flex: 1 1 50%;
8679 }
8680
8681 .yatra-availability-book-btn:hover {
8682 background: #2563eb;
8683 }
8684
8685 .yatra-availability-book-btn:disabled {
8686 background: #9ca3af;
8687 cursor: not-allowed;
8688 }
8689
8690 @media (max-width: 640px) {
8691 .yatra-availability-total-row {
8692 flex-direction: column;
8693 }
8694
8695 .yatra-availability-book-btn {
8696 width: 100%;
8697 }
8698 }
8699
8700 .yatra-availability-book-btn:disabled {
8701 background: #9ca3af;
8702 cursor: not-allowed;
8703 }
8704
8705 .yatra-availability-details-content {
8706 flex-direction: column;
8707 }
8708
8709 @media (min-width: 900px) {
8710 .yatra-availability-summary {
8711 flex-wrap: nowrap;
8712 }
8713
8714 .yatra-availability-details-content {
8715 flex-direction: row;
8716 gap: 32px;
8717 }
8718
8719 .yatra-details-left {
8720 flex: 1 1 55%;
8721 }
8722
8723 .yatra-details-right {
8724 flex: 1 1 45%;
8725 }
8726 }
8727
8728 .yatra-availability-date-section {
8729 display: flex;
8730 flex-direction: column;
8731 gap: 12px;
8732 }
8733
8734 .yatra-availability-main-date {
8735 display: flex;
8736 align-items: baseline;
8737 gap: 8px;
8738 }
8739
8740 .yatra-availability-day {
8741 font-size: 13px;
8742 font-weight: 600;
8743 color: #6b7280;
8744 text-transform: uppercase;
8745 letter-spacing: 0.5px;
8746 }
8747
8748 .yatra-availability-date {
8749 font-size: 24px;
8750 font-weight: 700;
8751 color: #111827;
8752 line-height: 1;
8753 }
8754
8755 .yatra-availability-year {
8756 font-size: 16px;
8757 font-weight: 500;
8758 color: #6b7280;
8759 }
8760
8761 .yatra-availability-date-range {
8762 display: flex;
8763 align-items: center;
8764 gap: 12px;
8765 font-size: 13px;
8766 }
8767
8768 .yatra-availability-date-item {
8769 display: flex;
8770 align-items: center;
8771 gap: 6px;
8772 }
8773
8774 .yatra-availability-date-label {
8775 font-weight: 500;
8776 color: #6b7280;
8777 font-size: 12px;
8778 }
8779
8780 .yatra-availability-date-value {
8781 font-weight: 600;
8782 color: #111827;
8783 font-size: 13px;
8784 }
8785
8786 .yatra-availability-separator {
8787 color: #9ca3af;
8788 font-size: 14px;
8789 font-weight: 500;
8790 }
8791
8792 .yatra-availability-location-section {
8793 display: flex;
8794 align-items: center;
8795 gap: 12px;
8796 font-size: 13px;
8797 padding: 12px;
8798 background: #f9fafb;
8799 border-radius: 8px;
8800 }
8801
8802 .yatra-availability-location-item {
8803 display: flex;
8804 align-items: center;
8805 gap: 6px;
8806 flex: 1;
8807 }
8808
8809 .yatra-availability-location-item svg {
8810 color: #6b7280;
8811 flex-shrink: 0;
8812 }
8813
8814 .yatra-availability-location-value {
8815 font-weight: 600;
8816 color: #111827;
8817 font-size: 13px;
8818 }
8819
8820 .yatra-availability-meta {
8821 display: flex;
8822 align-items: center;
8823 gap: 20px;
8824 font-size: 13px;
8825 color: #6b7280;
8826 }
8827
8828 .yatra-availability-duration {
8829 display: flex;
8830 align-items: center;
8831 gap: 6px;
8832 }
8833
8834 .yatra-availability-duration-icon {
8835 width: 14px;
8836 height: 14px;
8837 flex-shrink: 0;
8838 color: #6b7280;
8839 }
8840
8841 .yatra-availability-seats-info {
8842 display: flex;
8843 align-items: center;
8844 gap: 6px;
8845 }
8846
8847 .yatra-availability-seats-info svg {
8848 color: #6b7280;
8849 flex-shrink: 0;
8850 }
8851
8852 .yatra-availability-status-badge {
8853 display: inline-block;
8854 padding: 6px 12px;
8855 border-radius: 6px;
8856 font-size: 12px;
8857 font-weight: 600;
8858 text-transform: uppercase;
8859 letter-spacing: 0.5px;
8860 width: fit-content;
8861 }
8862
8863 .yatra-availability-status-available {
8864 background: #d1fae5;
8865 color: #065f46;
8866 }
8867
8868 .yatra-availability-status-limited {
8869 background: #fef3c7;
8870 color: #92400e;
8871 }
8872
8873 .yatra-availability-status-waitlist {
8874 background: #fee2e2;
8875 color: #991b1b;
8876 }
8877
8878 .yatra-availability-status-sold-out {
8879 background: #fee2e2;
8880 color: #991b1b;
8881 }
8882
8883 .yatra-availability-status-blocked {
8884 background: #1f2937;
8885 color: #f9fafb;
8886 }
8887
8888 .yatra-availability-status-closed {
8889 background: #f3f4f6;
8890 color: #6b7280;
8891 border: 1px solid #d1d5db;
8892 }
8893
8894 .yatra-availability-status-cancelled {
8895 background: #9ca3af;
8896 color: #ffffff;
8897 }
8898
8899 /* Card Header Status Badge - Inline Design */
8900 .yatra-badge-status {
8901 display: inline-flex;
8902 align-items: center;
8903 padding: 6px 12px;
8904 font-size: 11px;
8905 font-weight: 600;
8906 border-radius: 6px;
8907 text-transform: uppercase;
8908 letter-spacing: 0.5px;
8909 line-height: 1;
8910 white-space: nowrap;
8911 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
8912 }
8913
8914 /* Status badge colors - matching discount badge style */
8915 .yatra-badge-status.yatra-badge-available {
8916 background: #10b981;
8917 color: #fff;
8918 }
8919
8920 .yatra-badge-status.yatra-badge-limited {
8921 background: #f59e0b;
8922 color: #fff;
8923 }
8924
8925 .yatra-badge-status.yatra-badge-sold-out {
8926 background: #dc2626;
8927 color: #fff;
8928 }
8929
8930 .yatra-badge-status.yatra-badge-blocked {
8931 background: #1f2937;
8932 color: #fff;
8933 }
8934
8935 .yatra-badge-status.yatra-badge-closed {
8936 background: #6b7280;
8937 color: #fff;
8938 }
8939
8940 .yatra-badge-status.yatra-badge-cancelled {
8941 background: #9ca3af;
8942 color: #fff;
8943 }
8944
8945 /* Status-Specific Card Designs - Left Border Only */
8946 .yatra-availability-card.yatra-card-status-available {
8947 border-left: 4px solid #10b981;
8948 }
8949
8950 .yatra-availability-card.yatra-card-status-available:hover {
8951 border-left-color: #059669;
8952 box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
8953 }
8954
8955 .yatra-availability-card.yatra-card-status-limited {
8956 border-left: 4px solid #f59e0b;
8957 }
8958
8959 .yatra-availability-card.yatra-card-status-limited:hover {
8960 border-left-color: #d97706;
8961 box-shadow: 0 4px 12px rgba(245, 158, 11, 0.15);
8962 }
8963
8964 .yatra-availability-card.yatra-card-status-sold-out {
8965 border-left: 4px solid #ef4444;
8966 opacity: 0.85;
8967 }
8968
8969 .yatra-availability-card.yatra-card-status-sold-out:hover {
8970 border-left-color: #dc2626;
8971 box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15);
8972 }
8973
8974 .yatra-availability-card.yatra-card-status-blocked {
8975 border-left: 4px solid #1f2937;
8976 opacity: 0.7;
8977 }
8978
8979 .yatra-availability-card.yatra-card-status-blocked:hover {
8980 border-left-color: #111827;
8981 box-shadow: 0 4px 12px rgba(31, 41, 55, 0.15);
8982 }
8983
8984 .yatra-availability-card.yatra-card-status-closed {
8985 border-left: 4px solid #6b7280;
8986 opacity: 0.8;
8987 }
8988
8989 .yatra-availability-card.yatra-card-status-closed:hover {
8990 border-left-color: #4b5563;
8991 box-shadow: 0 4px 12px rgba(107, 114, 128, 0.15);
8992 }
8993
8994 .yatra-availability-card.yatra-card-status-cancelled {
8995 border-left: 4px solid #9ca3af;
8996 opacity: 0.75;
8997 }
8998
8999 .yatra-availability-card.yatra-card-status-cancelled:hover {
9000 border-left-color: #6b7280;
9001 box-shadow: 0 4px 12px rgba(156, 163, 175, 0.15);
9002 }
9003
9004 /* Right Column: Pricing & Booking */
9005 .yatra-availability-right {
9006 display: flex;
9007 flex-direction: column;
9008 gap: 20px;
9009 padding-left: 24px;
9010 border-left: 1px solid #e5e7eb;
9011 }
9012
9013 .yatra-availability-pricing-section {
9014 display: flex;
9015 flex-direction: column;
9016 align-items: flex-end;
9017 gap: 8px;
9018 }
9019
9020 .yatra-availability-discount-badge {
9021 display: inline-block;
9022 padding: 4px 10px;
9023 background: #dc2626;
9024 color: #fff;
9025 font-size: 11px;
9026 font-weight: 700;
9027 border-radius: 4px;
9028 text-transform: uppercase;
9029 letter-spacing: 0.5px;
9030 }
9031
9032 .yatra-availability-pricing {
9033 display: flex;
9034 flex-direction: column;
9035 align-items: flex-end;
9036 gap: 4px;
9037 }
9038
9039 .yatra-availability-price-original {
9040 font-size: 14px;
9041 color: #9ca3af;
9042 text-decoration: line-through;
9043 }
9044
9045 .yatra-availability-price-main {
9046 display: flex;
9047 align-items: baseline;
9048 gap: 6px;
9049 }
9050
9051 .yatra-availability-price-sale {
9052 font-size: 32px;
9053 font-weight: 700;
9054 color: #111827;
9055 line-height: 1;
9056 }
9057
9058 .yatra-availability-price-label {
9059 font-size: 13px;
9060 color: #6b7280;
9061 font-weight: 500;
9062 }
9063
9064 /* Traveler Selector */
9065 .yatra-availability-travelers {
9066 display: flex;
9067 flex-direction: column;
9068 gap: 12px;
9069 }
9070
9071 .yatra-availability-traveler-label {
9072 font-size: 13px;
9073 font-weight: 600;
9074 color: #374151;
9075 margin-bottom: 4px;
9076 }
9077
9078 /* Availability Participants Select - Same as sidebar - DUPLICATE REMOVED */
9079
9080 .yatra-availability-total-price {
9081 display: flex;
9082 align-items: center;
9083 justify-content: space-between;
9084 padding: 12px;
9085 background: #fff;
9086 border: 2px solid #3b82f6;
9087 border-radius: 8px;
9088 margin-top: 4px;
9089 }
9090
9091 .yatra-availability-total-label {
9092 font-size: 15px;
9093 font-weight: 600;
9094 color: #374151;
9095 }
9096
9097 .yatra-availability-total-amount {
9098 font-size: 20px;
9099 font-weight: 700;
9100 color: #3b82f6;
9101 }
9102
9103 .yatra-availability-book-btn {
9104 padding: 14px 24px;
9105 background: #3b82f6;
9106 color: #fff;
9107 border: none;
9108 border-radius: 8px;
9109 font-size: 15px;
9110 font-weight: 600;
9111 cursor: pointer;
9112 transition: all 0.2s ease;
9113 width: 100%;
9114 text-align: center;
9115 }
9116
9117 .yatra-availability-book-btn:hover:not(:disabled) {
9118 background: #2563eb;
9119 transform: translateY(-1px);
9120 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
9121 }
9122
9123 .yatra-availability-book-btn:disabled {
9124 background: #9ca3af;
9125 cursor: not-allowed;
9126 opacity: 0.7;
9127 }
9128
9129 /* Responsive Design */
9130 @media (max-width: 1024px) {
9131 .yatra-availability-item-main {
9132 grid-template-columns: 1fr;
9133 gap: 24px;
9134 }
9135
9136 .yatra-availability-right {
9137 padding-left: 0;
9138 border-left: none;
9139 border-top: 1px solid #e5e7eb;
9140 padding-top: 24px;
9141 }
9142 }
9143
9144 .yatra-availability-load-more {
9145 text-align: center;
9146 margin-top: 32px;
9147 margin-bottom: 24px;
9148 display: flex;
9149 flex-direction: column;
9150 align-items: center;
9151 gap: 12px;
9152 }
9153
9154 .yatra-availability-load-more-btn {
9155 display: inline-flex;
9156 align-items: center;
9157 justify-content: center;
9158 gap: 8px;
9159 padding: 14px 32px;
9160 background: #10b981;
9161 color: #fff;
9162 border: 2px solid #10b981;
9163 border-radius: 8px;
9164 font-size: 15px;
9165 font-weight: 600;
9166 cursor: pointer;
9167 transition: all 0.3s ease;
9168 }
9169
9170 .yatra-availability-load-more-btn:hover:not(:disabled) {
9171 background: #059669;
9172 border-color: #059669;
9173 }
9174
9175 .yatra-availability-load-more-btn:disabled {
9176 opacity: 0.7;
9177 cursor: not-allowed;
9178 }
9179
9180 .yatra-availability-load-more-btn svg {
9181 width: 18px;
9182 height: 18px;
9183 }
9184
9185 .yatra-availability-count-info {
9186 font-size: 13px;
9187 color: #6b7280;
9188 }
9189
9190 /* Spinner animation for load more */
9191 .yatra-spinner {
9192 animation: yatra-spin 1s linear infinite;
9193 }
9194
9195 @keyframes yatra-spin {
9196 from {
9197 transform: rotate(0deg);
9198 }
9199 to {
9200 transform: rotate(360deg);
9201 }
9202 }
9203
9204 /* Responsive */
9205 @media (max-width: 1024px) {
9206 .yatra-availability-header-top {
9207 flex-direction: column;
9208 align-items: flex-start;
9209 }
9210
9211 .yatra-availability-sort-select {
9212 width: 100%;
9213 }
9214
9215 .yatra-availability-item-main {
9216 grid-template-columns: 1fr;
9217 gap: 24px;
9218 }
9219
9220 .yatra-availability-pricing-info {
9221 align-items: flex-start;
9222 }
9223
9224 .yatra-availability-book-btn {
9225 max-width: 100%;
9226 }
9227 }
9228
9229 @media (max-width: 768px) {
9230 .yatra-availability-filters {
9231 overflow-x: auto;
9232 flex-wrap: nowrap;
9233 padding-bottom: 8px;
9234 -webkit-overflow-scrolling: touch;
9235 }
9236
9237 .yatra-availability-filter-btn {
9238 white-space: nowrap;
9239 flex-shrink: 0;
9240 }
9241
9242 .yatra-availability-item {
9243 padding: 20px;
9244 }
9245
9246 .yatra-availability-date {
9247 font-size: 20px;
9248 }
9249
9250 .yatra-availability-price-sale {
9251 font-size: 24px;
9252 }
9253 }
9254
9255 /* Price Section Styling */
9256 .yatra-price-section {
9257 margin: 16px 0;
9258 border-top: 1px solid #e5e7eb;
9259 padding-top: 12px;
9260 }
9261
9262 .yatra-price-section-title {
9263 display: flex;
9264 align-items: center;
9265 gap: 8px;
9266 font-weight: 600;
9267 color: #374151;
9268 margin-bottom: 8px;
9269 font-size: 14px;
9270 }
9271
9272 .dark .yatra-price-section-title {
9273 color: #d1d5db;
9274 }
9275
9276 /* Itinerary Costs Styling */
9277 .yatra-price-itinerary {
9278 display: flex;
9279 justify-content: space-between;
9280 align-items: center;
9281 padding: 6px 0;
9282 font-size: 13px;
9283 color: #6b7280;
9284 }
9285
9286 .yatra-price-itinerary span:first-child {
9287 font-weight: 500;
9288 color: #374151;
9289 }
9290
9291 .yatra-price-itinerary span:last-child {
9292 font-weight: 600;
9293 color: #059669;
9294 }
9295
9296 .dark .yatra-price-itinerary {
9297 color: #9ca3af;
9298 }
9299
9300 .dark .yatra-price-itinerary span:first-child {
9301 color: #d1d5db;
9302 }
9303
9304 .dark .yatra-price-itinerary span:last-child {
9305 color: #10b981;
9306 }
9307
9308 /* Availability Fallback Styling */
9309 .yatra-availability-empty-actions {
9310 display: flex;
9311 gap: 12px;
9312 margin-top: 20px;
9313 flex-wrap: wrap;
9314 }
9315
9316 .yatra-availability-empty-actions .yatra-btn {
9317 min-width: 140px;
9318 }
9319
9320 .yatra-availability-empty .yatra-icon-xl {
9321 color: #10b981;
9322 margin-bottom: 16px;
9323 }
9324
9325 .dark .yatra-availability-empty .yatra-icon-xl {
9326 color: #34d399;
9327 }
9328
9329 /* Date Picker Customization */
9330 .flatpickr-calendar {
9331 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
9332 border-radius: 8px;
9333 }
9334
9335 .flatpickr-day.selected {
9336 background: #3b82f6;
9337 border-color: #3b82f6;
9338 }
9339
9340 .flatpickr-day:hover {
9341 background: #dbeafe;
9342 border-color: #93c5fd;
9343 }
9344
9345 .flatpickr-day.today {
9346 border-color: #3b82f6;
9347 }
9348
9349 .flatpickr-day.disabled {
9350 color: #d1d5db;
9351 }
9352
9353 /* Dark mode date picker */
9354 .dark .flatpickr-calendar {
9355 background: #1f2937;
9356 border-color: #374151;
9357 }
9358
9359 .dark .flatpickr-months {
9360 background: #1f2937;
9361 }
9362
9363 .dark .flatpickr-current-month .flatpickr-monthDropdown-months,
9364 .dark .flatpickr-current-month input.cur-year {
9365 color: #f9fafb;
9366 }
9367
9368 .dark .flatpickr-weekday {
9369 color: #9ca3af;
9370 }
9371
9372 .dark .flatpickr-day {
9373 color: #f9fafb;
9374 }
9375
9376 .dark .flatpickr-day:hover {
9377 background: #374151;
9378 border-color: #4b5563;
9379 }
9380
9381 .dark .flatpickr-day.disabled {
9382 color: #4b5563;
9383 }
9384
9385 /* Availability Empty Info */
9386 .yatra-availability-empty-info {
9387 display: flex;
9388 flex-direction: column;
9389 gap: 16px;
9390 margin: 24px 0;
9391 padding: 20px;
9392 background: #f9fafb;
9393 border-radius: 8px;
9394 border: 1px solid #e5e7eb;
9395 }
9396
9397 .dark .yatra-availability-empty-info {
9398 background: #1f2937;
9399 border-color: #374151;
9400 }
9401
9402 .yatra-availability-empty-info-item {
9403 display: flex;
9404 align-items: center;
9405 gap: 12px;
9406 }
9407
9408 .yatra-availability-empty-info-icon {
9409 width: 40px;
9410 height: 40px;
9411 display: flex;
9412 align-items: center;
9413 justify-content: center;
9414 background: #10b981;
9415 color: white;
9416 border-radius: 8px;
9417 flex-shrink: 0;
9418 }
9419
9420 .yatra-availability-empty-info-text {
9421 display: flex;
9422 flex-direction: column;
9423 gap: 2px;
9424 }
9425
9426 .yatra-availability-empty-info-label {
9427 font-size: 12px;
9428 color: #6b7280;
9429 font-weight: 500;
9430 }
9431
9432 .yatra-availability-empty-info-value {
9433 font-size: 16px;
9434 color: #111827;
9435 font-weight: 600;
9436 }
9437
9438 .dark .yatra-availability-empty-info-label {
9439 color: #9ca3af;
9440 }
9441
9442 .dark .yatra-availability-empty-info-value {
9443 color: #f9fafb;
9444 }
9445
9446 /* ============================================
9447 TRIP ATTRIBUTES SECTION — matches quick facts: hairline grid, neutral icons
9448 (Vertical spacing: unified block above — no extra padding-top here.)
9449 ============================================ */
9450 .yatra-trip-attributes {
9451 --yatra-attr-divider: #d6d3d1;
9452 }
9453
9454 .yatra-trip-attributes .yatra-section-header {
9455 margin-bottom: 14px;
9456 padding-bottom: 12px;
9457 border-bottom: 1px solid var(--yatra-attr-divider);
9458 }
9459
9460 .yatra-trip-attributes .yatra-section-title {
9461 font-size: 1.125rem;
9462 font-weight: 600;
9463 letter-spacing: -0.02em;
9464 color: #1c1917;
9465 margin: 0 0 6px 0;
9466 line-height: 1.25;
9467 }
9468
9469 .yatra-trip-attributes .yatra-section-description {
9470 font-size: 13px;
9471 line-height: 1.5;
9472 color: #78716c;
9473 margin: 0;
9474 max-width: 42em;
9475 }
9476
9477 /* Layout + hairlines when wrapped by .yatra-spec-sheet (see SPEC SHEET WRAPPER block). */
9478 .yatra-attributes-grid {
9479 margin-top: 0;
9480 }
9481
9482 .yatra-attributes-filter-wrapper .yatra-attributes-grid {
9483 display: grid;
9484 }
9485
9486 /* Scoped to single-trip attributes grid only — listing filters reuse class names with a different DOM (label + content stacked). */
9487 .yatra-attributes-grid > .yatra-attribute-item {
9488 display: flex;
9489 align-items: flex-start;
9490 gap: 12px;
9491 padding: 14px 16px;
9492 background: #fff;
9493 border: none;
9494 border-radius: 0;
9495 transition: background-color 0.15s ease;
9496 min-width: 0;
9497 min-height: 100%;
9498 box-sizing: border-box;
9499 align-self: stretch;
9500 }
9501
9502 .yatra-attributes-grid > .yatra-attribute-item:hover {
9503 background: #fafaf9;
9504 }
9505
9506 .yatra-attributes-grid .yatra-attribute-icon {
9507 width: auto;
9508 height: auto;
9509 min-width: 28px;
9510 min-height: 28px;
9511 display: flex;
9512 align-items: center;
9513 justify-content: center;
9514 background: transparent;
9515 color: #57534e;
9516 border-radius: 0;
9517 flex-shrink: 0;
9518 overflow: visible;
9519 }
9520
9521 .yatra-attributes-grid .yatra-attribute-icon svg {
9522 display: block;
9523 width: 22px;
9524 height: 22px;
9525 min-width: 22px;
9526 min-height: 22px;
9527 flex-shrink: 0;
9528 overflow: visible;
9529 opacity: 0.92;
9530 }
9531
9532 .yatra-attributes-grid .yatra-attribute-icon svg[fill="none"] {
9533 stroke: currentColor;
9534 }
9535
9536 .yatra-attributes-grid .yatra-attribute-icon svg[fill="currentColor"] {
9537 stroke: none;
9538 opacity: 1;
9539 }
9540
9541 .yatra-attribute-icon-img {
9542 width: 26px;
9543 height: 26px;
9544 max-width: 100%;
9545 max-height: 100%;
9546 object-fit: contain;
9547 border-radius: 4px;
9548 }
9549
9550 .yatra-attributes-grid .yatra-attribute-content {
9551 flex: 1 1 auto;
9552 min-width: 0;
9553 display: flex;
9554 flex-direction: column;
9555 justify-content: flex-start;
9556 min-height: 0;
9557 }
9558
9559 .yatra-attributes-grid .yatra-attribute-content .yatra-attribute-name {
9560 font-size: 13px;
9561 font-weight: 600;
9562 color: #292524;
9563 margin-bottom: 3px;
9564 line-height: 1.35;
9565 }
9566
9567 .yatra-attributes-grid .yatra-attribute-value {
9568 font-size: 13px;
9569 color: #57534e;
9570 margin-bottom: 0;
9571 word-wrap: break-word;
9572 line-height: 1.45;
9573 }
9574
9575 .yatra-attributes-grid .yatra-attribute-value a {
9576 color: var(--yatra-primary-color, #3b82f6);
9577 text-decoration: none;
9578 }
9579
9580 .yatra-attributes-grid .yatra-attribute-value a:hover {
9581 text-decoration: underline;
9582 }
9583
9584 .yatra-color-swatch {
9585 display: inline-block;
9586 width: 16px;
9587 height: 16px;
9588 border-radius: 3px;
9589 border: 1px solid var(--yatra-border-color, #e5e7eb);
9590 vertical-align: middle;
9591 margin-right: 6px;
9592 }
9593
9594 .yatra-attributes-grid .yatra-attribute-description {
9595 margin-top: 6px;
9596 font-size: 11px;
9597 color: #a8a29e;
9598 font-style: italic;
9599 line-height: 1.35;
9600 }
9601
9602 /* ============================================
9603 BOOKING PAGE TRIP INFORMATION
9604 ============================================ */
9605 .yatra-booking-info {
9606 margin: 20px 0;
9607 padding: 16px;
9608 background: var(--yatra-bg-card, #ffffff);
9609 border: 1px solid var(--yatra-border-color, #e5e7eb);
9610 border-radius: 8px;
9611 }
9612
9613 .yatra-booking-info h5 {
9614 font-size: 14px;
9615 font-weight: 600;
9616 color: var(--yatra-text-primary, #1a1a1a);
9617 margin: 0 0 12px 0;
9618 padding-bottom: 8px;
9619 border-bottom: 1px solid var(--yatra-border-color, #e5e7eb);
9620 }
9621
9622 .yatra-booking-info-list {
9623 display: flex;
9624 flex-direction: column;
9625 gap: 8px;
9626 }
9627
9628 .yatra-booking-info-item {
9629 display: flex;
9630 justify-content: space-between;
9631 align-items: center;
9632 padding: 6px 0;
9633 border-bottom: 1px solid var(--yatra-border-light, #f3f4f6);
9634 }
9635
9636 .yatra-booking-info-item:last-child {
9637 border-bottom: none;
9638 }
9639
9640 .yatra-booking-info-name {
9641 font-size: 12px;
9642 font-weight: 500;
9643 color: var(--yatra-text-secondary, #6b7280);
9644 flex: 1;
9645 min-width: 0;
9646 margin-right: 8px;
9647 }
9648
9649 .yatra-booking-info-value {
9650 font-size: 12px;
9651 font-weight: 600;
9652 color: var(--yatra-text-primary, #1a1a1a);
9653 text-align: right;
9654 flex-shrink: 0;
9655 }
9656
9657 /* Dark Mode */
9658 .dark .yatra-booking-info {
9659 background: var(--yatra-bg-card-dark, #1f2937);
9660 border-color: var(--yatra-border-color-dark, #374151);
9661 }
9662
9663 .dark .yatra-booking-info h5 {
9664 color: var(--yatra-text-primary-dark, #f9fafb);
9665 border-bottom-color: var(--yatra-border-color-dark, #374151);
9666 }
9667
9668 .dark .yatra-booking-info-item {
9669 border-bottom-color: var(--yatra-border-light-dark, #374151);
9670 }
9671
9672 .dark .yatra-booking-info-name {
9673 color: var(--yatra-text-secondary-dark, #9ca3af);
9674 }
9675
9676 .dark .yatra-booking-info-value {
9677 color: var(--yatra-text-primary-dark, #f9fafb);
9678 }
9679
9680 /* Cancellation Policy Content */
9681 .yatra-cancellation-policy-content p {
9682 font-size: 13px;
9683 line-height: 1.5;
9684 color: var(--yatra-text-secondary, #6b7280);
9685 margin: 0 0 8px 0;
9686 }
9687
9688 .yatra-cancellation-policy-content p:last-child {
9689 margin-bottom: 0;
9690 }
9691
9692 .yatra-policy-more {
9693 font-size: 12px;
9694 font-style: italic;
9695 color: var(--yatra-text-muted, #9ca3af);
9696 margin-top: 8px;
9697 }
9698
9699 /* Dark Mode */
9700 .dark .yatra-cancellation-policy-content p {
9701 color: var(--yatra-text-secondary-dark, #9ca3af);
9702 }
9703
9704 .dark .yatra-policy-more {
9705 color: var(--yatra-text-muted-dark, #6b7280);
9706 }
9707
9708 /* ============================================
9709 IMPORTANT INFORMATION SECTION - SIMPLE & CLEAN
9710 ============================================ */
9711
9712 .yatra-important-info-grid {
9713 display: flex;
9714 flex-direction: column;
9715 gap: 20px;
9716 margin-top: 32px;
9717 }
9718
9719 .yatra-important-info-card {
9720 display: flex;
9721 align-items: flex-start;
9722 gap: 20px;
9723 background: var(--yatra-bg-card, #ffffff);
9724 border: 1px solid var(--yatra-border-color, #e5e7eb);
9725 border-radius: 12px;
9726 padding: 24px;
9727 transition: all 0.2s ease;
9728 }
9729
9730 .yatra-important-info-card:hover {
9731 transform: translateY(-2px);
9732 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
9733 }
9734
9735 .yatra-important-info-icon {
9736 width: 48px;
9737 height: 48px;
9738 display: flex;
9739 align-items: center;
9740 justify-content: center;
9741 background: var(--yatra-primary-light, #eff6ff);
9742 color: var(--yatra-primary-color, #3b82f6);
9743 border-radius: 12px;
9744 font-size: 20px;
9745 flex-shrink: 0;
9746 }
9747
9748 .yatra-important-info-content-wrapper {
9749 flex: 1;
9750 }
9751
9752 .yatra-important-info-title {
9753 font-size: 16px;
9754 font-weight: 600;
9755 color: var(--yatra-text-primary, #1a1a1a);
9756 margin: 0 0 16px 0;
9757 display: flex;
9758 align-items: center;
9759 gap: 0;
9760 }
9761
9762 .yatra-important-info-title .yatra-icon-inline {
9763 display: none;
9764 }
9765
9766 .yatra-important-info-content {
9767 font-size: 14px;
9768 line-height: 1.6;
9769 color: var(--yatra-text-secondary, #6b7280);
9770 margin: 0;
9771 }
9772
9773 .yatra-important-info-content p {
9774 margin: 0 0 8px 0;
9775 }
9776
9777 .yatra-important-info-content p:last-child {
9778 margin-bottom: 0;
9779 }
9780
9781 /* Info Detail Rows */
9782 .yatra-info-detail-row {
9783 display: flex;
9784 align-items: flex-start;
9785 justify-content: space-between;
9786 padding: 6px 0;
9787 }
9788
9789 .yatra-info-label {
9790 font-size: 13px;
9791 font-weight: 500;
9792 color: #6b7280;
9793 display: flex;
9794 align-items: center;
9795 gap: 6px;
9796 }
9797
9798 .yatra-info-value {
9799 font-size: 14px;
9800 font-weight: 600;
9801 color: #1a1a1a;
9802 text-align: right;
9803 }
9804
9805 /* Info Badge */
9806 .yatra-info-badge {
9807 display: inline-flex;
9808 align-items: center;
9809 gap: 6px;
9810 padding: 6px 12px;
9811 border-radius: 6px;
9812 font-size: 13px;
9813 font-weight: 500;
9814 margin-bottom: 12px;
9815 }
9816
9817 .yatra-badge-included {
9818 background: #d1fae5;
9819 color: #065f46;
9820 }
9821
9822 /* Info Description */
9823 .yatra-info-description {
9824 margin-top: 12px;
9825 }
9826
9827 /* Icon Sizes */
9828 .yatra-icon-tiny {
9829 width: 14px;
9830 height: 14px;
9831 }
9832
9833 /* Icon Color Variations */
9834 .yatra-icon-physical {
9835 background: #fef3c7;
9836 color: #d97706;
9837 }
9838
9839 .yatra-icon-visa {
9840 background: #dbeafe;
9841 color: #2563eb;
9842 }
9843
9844 .yatra-icon-health {
9845 background: #fce7f3;
9846 color: #db2777;
9847 }
9848
9849 .yatra-icon-policy {
9850 background: #fee2e2;
9851 color: #dc2626;
9852 }
9853
9854 .yatra-icon-age {
9855 background: #e0e7ff;
9856 color: #6366f1;
9857 }
9858
9859 .yatra-icon-accommodation {
9860 background: #d1fae5;
9861 color: #059669;
9862 }
9863
9864 .yatra-icon-transport {
9865 background: #ddd6fe;
9866 color: #7c3aed;
9867 }
9868
9869 /* Section Description */
9870 .yatra-section-description {
9871 font-size: 15px;
9872 line-height: 1.6;
9873 color: #6b7280;
9874 margin: 12px 0 0 0;
9875 }
9876
9877 /* Responsive Design */
9878 @media (max-width: 768px) {
9879 .yatra-important-info-grid {
9880 gap: 16px;
9881 }
9882
9883 .yatra-important-info-card {
9884 padding: 20px;
9885 gap: 16px;
9886 }
9887
9888 .yatra-important-info-icon {
9889 width: 40px;
9890 height: 40px;
9891 font-size: 18px;
9892 }
9893
9894 .yatra-important-info-title {
9895 font-size: 15px;
9896 }
9897
9898 .yatra-info-detail-row {
9899 flex-direction: column;
9900 gap: 4px;
9901 }
9902
9903 .yatra-info-value {
9904 text-align: left;
9905 }
9906
9907 .yatra-important-info-content {
9908 font-size: 13px;
9909 }
9910 }
9911
9912 @media (max-width: 480px) {
9913 .yatra-important-info-card {
9914 flex-direction: column;
9915 text-align: center;
9916 gap: 12px;
9917 }
9918
9919 .yatra-important-info-icon {
9920 margin: 0 auto;
9921 }
9922 }
9923
9924 /* ============================================
9925 BOOKING PAGE ATTRIBUTES
9926 ============================================ */
9927 .yatra-booking-attributes {
9928 margin: 20px 0;
9929 padding: 16px;
9930 background: var(--yatra-bg-card, #ffffff);
9931 border: 1px solid var(--yatra-border-color, #e5e7eb);
9932 border-radius: 8px;
9933 }
9934
9935 .yatra-booking-attributes h5 {
9936 font-size: 14px;
9937 font-weight: 600;
9938 color: var(--yatra-text-primary, #1a1a1a);
9939 margin: 0 0 12px 0;
9940 padding-bottom: 8px;
9941 border-bottom: 1px solid var(--yatra-border-color, #e5e7eb);
9942 }
9943
9944 .yatra-booking-attributes-list {
9945 display: flex;
9946 flex-direction: column;
9947 gap: 8px;
9948 }
9949
9950 .yatra-booking-attribute-item {
9951 display: flex;
9952 justify-content: space-between;
9953 align-items: center;
9954 padding: 6px 0;
9955 border-bottom: 1px solid var(--yatra-border-light, #f3f4f6);
9956 }
9957
9958 .yatra-booking-attribute-item:last-child {
9959 border-bottom: none;
9960 }
9961
9962 .yatra-booking-attribute-name {
9963 font-size: 12px;
9964 font-weight: 500;
9965 color: var(--yatra-text-secondary, #6b7280);
9966 flex: 1;
9967 min-width: 0;
9968 margin-right: 8px;
9969 }
9970
9971 .yatra-booking-attribute-value {
9972 font-size: 12px;
9973 font-weight: 600;
9974 color: var(--yatra-text-primary, #1a1a1a);
9975 text-align: right;
9976 flex-shrink: 0;
9977 }
9978
9979 .yatra-booking-color-swatch {
9980 display: inline-block;
9981 width: 12px;
9982 height: 12px;
9983 border-radius: 2px;
9984 border: 1px solid var(--yatra-border-color, #e5e7eb);
9985 vertical-align: middle;
9986 }
9987
9988 /* Dark Mode */
9989 .dark .yatra-booking-attributes {
9990 background: var(--yatra-bg-card-dark, #1f2937);
9991 border-color: var(--yatra-border-color-dark, #374151);
9992 }
9993
9994 .dark .yatra-booking-attributes h5 {
9995 color: var(--yatra-text-primary-dark, #f9fafb);
9996 border-bottom-color: var(--yatra-border-color-dark, #374151);
9997 }
9998
9999 .dark .yatra-booking-attribute-item {
10000 border-bottom-color: var(--yatra-border-light-dark, #374151);
10001 }
10002
10003 .dark .yatra-booking-attribute-name {
10004 color: var(--yatra-text-secondary-dark, #9ca3af);
10005 }
10006
10007 .dark .yatra-booking-attribute-value {
10008 color: var(--yatra-text-primary-dark, #f9fafb);
10009 }
10010
10011 /* ============================================
10012 TRIP LISTING ATTRIBUTE FILTERS - MATCHES AGE SUITABILITY DESIGN
10013 ============================================ */
10014
10015 /* Input groups for number/date ranges */
10016 .yatra-input-group {
10017 display: flex;
10018 flex-direction: column;
10019 gap: 12px;
10020 width: 100%;
10021 }
10022
10023 .yatra-input-group input.yatra-filter-input {
10024 width: 100%;
10025 }
10026
10027 /* Attribute filter icons - match Age Suitability size */
10028 .yatra-filter-icon[width="18"] {
10029 width: 18px !important;
10030 height: 18px !important;
10031 object-fit: contain !important;
10032 }
10033
10034 /* Individual attribute items within Trip Attributes section */
10035 .yatra-attribute-item {
10036 margin-bottom: 20px;
10037 padding-bottom: 20px;
10038 border-bottom: 1px solid #f0f0f2;
10039 }
10040
10041 .yatra-attribute-item:last-child {
10042 margin-bottom: 0;
10043 padding-bottom: 0;
10044 border-bottom: none;
10045 }
10046
10047 .yatra-attribute-label {
10048 display: flex;
10049 align-items: center;
10050 gap: 10px;
10051 margin-bottom: 12px;
10052 }
10053
10054 .yatra-attribute-icon {
10055 width: 18px;
10056 height: 18px;
10057 flex-shrink: 0;
10058 object-fit: contain;
10059 display: flex;
10060 align-items: center;
10061 justify-content: center;
10062 }
10063
10064 .yatra-attribute-icon img {
10065 width: 18px !important;
10066 height: 18px !important;
10067 object-fit: contain !important;
10068 }
10069
10070 .yatra-attribute-icon svg {
10071 width: 18px;
10072 height: 18px;
10073 color: #6b7280;
10074 }
10075
10076 .yatra-attribute-name {
10077 font-size: 14px;
10078 font-weight: 600;
10079 color: #374151;
10080 line-height: 1.5;
10081 }
10082
10083 .yatra-attribute-content {
10084 width: 100%;
10085 display: block;
10086 }
10087
10088 .yatra-attribute-content input.yatra-filter-input {
10089 width: 100% !important;
10090 max-width: 100% !important;
10091 box-sizing: border-box;
10092 }
10093
10094 .yatra-attribute-content .yatra-checkbox-group {
10095 width: 100%;
10096 }
10097
10098 .yatra-attribute-content .yatra-input-group {
10099 width: 100%;
10100 }
10101
10102 .yatra-attribute-content .yatra-input-group input {
10103 width: 100% !important;
10104 max-width: 100% !important;
10105 box-sizing: border-box;
10106 }
10107
10108 /* Dark mode for attribute items */
10109 .dark .yatra-attribute-item {
10110 border-bottom-color: #374151;
10111 }
10112
10113 .dark .yatra-attribute-icon svg {
10114 color: #9ca3af;
10115 }
10116
10117 .dark .yatra-attribute-name {
10118 color: #e5e7eb;
10119 }
10120
10121 /* Responsive Design */
10122 @media (max-width: 768px) {
10123 .yatra-attr-filter {
10124 margin: 20px 0;
10125 border-radius: 12px;
10126 }
10127
10128 .yatra-attr-filter__header {
10129 padding: 20px 20px;
10130 flex-direction: column;
10131 align-items: flex-start;
10132 gap: 14px;
10133 }
10134
10135 .yatra-attr-filter__title {
10136 font-size: 16px;
10137 }
10138
10139 .yatra-attr-filter__reset {
10140 width: 100%;
10141 justify-content: center;
10142 }
10143
10144 .yatra-attr-group {
10145 padding: 20px 20px;
10146 }
10147
10148 .yatra-attr-icon {
10149 width: 36px;
10150 height: 36px;
10151 }
10152
10153 .yatra-attr-icon img {
10154 width: 18px;
10155 height: 18px;
10156 }
10157
10158 .yatra-attr-icon svg {
10159 width: 18px;
10160 height: 18px;
10161 }
10162
10163 .yatra-attr-range {
10164 flex-direction: column;
10165 align-items: stretch;
10166 gap: 12px;
10167 }
10168
10169 .yatra-attr-range__sep {
10170 display: none;
10171 }
10172 }
10173
10174 /* Dark Mode - Professional Theme */
10175 .dark .yatra-attr-filter {
10176 background: #1e293b;
10177 border-color: #334155;
10178 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.3);
10179 }
10180
10181 .dark .yatra-attr-filter:hover {
10182 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.35);
10183 }
10184
10185 .dark .yatra-attr-filter__header {
10186 background: #0f172a;
10187 border-bottom-color: #334155;
10188 }
10189
10190 .dark .yatra-attr-filter__title {
10191 color: #f1f5f9;
10192 }
10193
10194 .dark .yatra-attr-filter__reset {
10195 background: #1e293b;
10196 border-color: #475569;
10197 color: #cbd5e1;
10198 }
10199
10200 .dark .yatra-attr-filter__reset:hover {
10201 background: #334155;
10202 border-color: #64748b;
10203 color: #f1f5f9;
10204 }
10205
10206 .dark .yatra-attr-group {
10207 border-bottom-color: #334155;
10208 }
10209
10210 .dark .yatra-attr-group:hover {
10211 background: #1a2332;
10212 }
10213
10214 .dark .yatra-attr-group__label {
10215 border-bottom-color: #334155;
10216 }
10217
10218 .dark .yatra-attr-icon {
10219 background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
10220 border-color: #3b82f6;
10221 box-shadow: 0 1px 2px rgba(59, 130, 246, 0.15);
10222 }
10223
10224 .dark .yatra-attr-icon svg {
10225 color: #60a5fa;
10226 }
10227
10228 .dark .yatra-attr-name {
10229 color: #f1f5f9;
10230 }
10231
10232 .dark .yatra-attr-checkbox:hover {
10233 background: #1a2332;
10234 }
10235
10236 .dark .yatra-attr-checkbox__box {
10237 border-color: #475569;
10238 background: #334155;
10239 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
10240 }
10241
10242 .dark .yatra-attr-checkbox input[type="checkbox"]:checked + .yatra-attr-checkbox__box {
10243 background: #3b82f6;
10244 border-color: #3b82f6;
10245 box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
10246 }
10247
10248 .dark .yatra-attr-checkbox:hover .yatra-attr-checkbox__box {
10249 border-color: #64748b;
10250 background: #475569;
10251 }
10252
10253 .dark .yatra-attr-checkbox input[type="checkbox"]:checked:hover + .yatra-attr-checkbox__box {
10254 background: #2563eb;
10255 border-color: #2563eb;
10256 }
10257
10258 .dark .yatra-attr-checkbox__label {
10259 color: #e2e8f0;
10260 }
10261
10262 .dark .yatra-attr-range__sep {
10263 color: #64748b;
10264 }
10265
10266 .dark .yatra-attr-input {
10267 background: #334155;
10268 border-color: #475569;
10269 color: #f1f5f9;
10270 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
10271 }
10272
10273 .dark .yatra-attr-input:hover {
10274 border-color: #64748b;
10275 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
10276 }
10277
10278 .dark .yatra-attr-input:focus {
10279 border-color: #3b82f6;
10280 background: #334155;
10281 box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);
10282 }
10283
10284 .dark .yatra-attr-input::placeholder {
10285 color: #64748b;
10286 }
10287
10288 /* Legacy compatibility - keeping minimal old styles */
10289 .yatra-attribute-input-wrap input {
10290 border: none;
10291 background: transparent;
10292 font-size: 15px;
10293 font-weight: 600;
10294 color: var(--yatra-text-primary, #0f172a);
10295 padding: 0;
10296 outline: none;
10297 }
10298
10299 .yatra-attribute-input-wrap input::placeholder {
10300 color: rgba(15, 23, 42, 0.35);
10301 }
10302
10303 .yatra-attribute-input-separator {
10304 font-size: 22px;
10305 color: rgba(15, 23, 42, 0.2);
10306 font-weight: 200;
10307 }
10308
10309 /* Responsive */
10310 @media (max-width: 960px) {
10311 .yatra-attributes-panel__head {
10312 flex-direction: column;
10313 align-items: flex-start;
10314 }
10315 }
10316
10317 @media (max-width: 640px) {
10318 .yatra-attributes-panel__body {
10319 grid-template-columns: 1fr;
10320 padding: 24px;
10321 }
10322
10323 .yatra-attributes-panel__head {
10324 padding: 24px;
10325 }
10326
10327 .yatra-attribute-input-row {
10328 flex-direction: column;
10329 }
10330
10331 .yatra-attribute-input-separator {
10332 display: none;
10333 }
10334 }
10335
10336 /* Dark Mode */
10337 .dark .yatra-attributes-panel {
10338 background: #0b1120;
10339 border-color: rgba(148, 163, 184, 0.12);
10340 box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
10341 }
10342
10343 .dark .yatra-attributes-panel__head {
10344 background: linear-gradient(120deg, #020617 0%, #0f172a 60%, #1e3a8a 100%);
10345 }
10346
10347 .dark .yatra-attribute-tile {
10348 background: rgba(15, 23, 42, 0.75);
10349 }
10350
10351 .dark .yatra-attribute-tile:hover {
10352 background: rgba(15, 23, 42, 0.95);
10353 }
10354
10355 .dark .yatra-attribute-tile__name {
10356 color: #e2e8f0;
10357 }
10358
10359 .dark .yatra-attribute-tile__type {
10360 color: rgba(148, 163, 184, 0.8);
10361 }
10362
10363 .dark .yatra-attribute-pill {
10364 background: rgba(15, 23, 42, 0.45);
10365 color: #cbd5e5;
10366 border-color: rgba(148, 163, 184, 0.2);
10367 }
10368
10369 .dark .yatra-attribute-pill input:checked ~ span {
10370 color: #60a5fa;
10371 }
10372
10373 .dark .yatra-attribute-input-row {
10374 background: rgba(15, 23, 42, 0.45);
10375 border-color: rgba(148, 163, 184, 0.2);
10376 }
10377
10378 .dark .yatra-attribute-input-wrap label {
10379 color: rgba(148, 163, 184, 0.7);
10380 }
10381
10382 .dark .yatra-attribute-input-wrap input {
10383 color: #f1f5f9;
10384 }
10385
10386 .dark .yatra-attribute-input-wrap input::placeholder {
10387 color: rgba(148, 163, 184, 0.4);
10388 }
10389
10390 .dark .yatra-attribute-input-separator {
10391 color: rgba(148, 163, 184, 0.2);
10392 }
10393
10394 /* Legacy attribute styles below - keeping for backward compatibility */
10395 .yatra-attribute-range-inputs {
10396 display: flex;
10397 align-items: center;
10398 gap: 12px;
10399 background: #f8fafc;
10400 border: 1px solid #e2e8f0;
10401 border-radius: 10px;
10402 padding: 16px;
10403 }
10404
10405 .yatra-attribute-input-group {
10406 flex: 1;
10407 min-width: 0;
10408 }
10409
10410 .yatra-attribute-input-label {
10411 display: block;
10412 font-size: 12px;
10413 font-weight: 600;
10414 color: #718096;
10415 margin-bottom: 6px;
10416 text-transform: uppercase;
10417 letter-spacing: 0.5px;
10418 }
10419
10420 .yatra-attribute-input {
10421 width: 100%;
10422 padding: 10px 14px;
10423 background: #ffffff;
10424 border: 2px solid #e2e8f0;
10425 border-radius: 8px;
10426 font-size: 14px;
10427 font-weight: 500;
10428 color: #2d3748;
10429 transition: all 0.2s ease;
10430 }
10431
10432 .yatra-attribute-input:focus {
10433 outline: none;
10434 border-color: #667eea;
10435 box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
10436 }
10437
10438 .yatra-attribute-range-separator {
10439 font-size: 16px;
10440 font-weight: 600;
10441 color: #a0aec0;
10442 margin-top: 20px;
10443 }
10444
10445 /* Responsive Design for New Attribute Filter */
10446 @media (max-width: 768px) {
10447 .yatra-attributes-filter-header {
10448 flex-direction: column;
10449 gap: 12px;
10450 text-align: center;
10451 padding: 16px;
10452 }
10453
10454 .yatra-attributes-filter-title {
10455 justify-content: center;
10456 }
10457
10458 .yatra-attributes-filter-wrapper .yatra-attributes-grid {
10459 grid-template-columns: 1fr;
10460 gap: 16px;
10461 }
10462
10463 .yatra-attribute-card-header {
10464 padding: 16px;
10465 gap: 12px;
10466 }
10467
10468 .yatra-attribute-icon-wrapper {
10469 width: 40px;
10470 height: 40px;
10471 }
10472
10473 .yatra-attribute-icon-img {
10474 width: 24px;
10475 height: 24px;
10476 }
10477
10478 .yatra-attribute-icon-svg {
10479 width: 20px;
10480 height: 20px;
10481 }
10482
10483 .yatra-attribute-title {
10484 font-size: 14px;
10485 }
10486
10487 .yatra-attribute-card-body {
10488 padding: 16px;
10489 }
10490
10491 .yatra-attribute-range-inputs {
10492 flex-direction: column;
10493 gap: 12px;
10494 }
10495
10496 .yatra-attribute-range-separator {
10497 display: none;
10498 }
10499 }
10500
10501 @media (max-width: 480px) {
10502 .yatra-attributes-filter-wrapper {
10503 margin: 16px 0;
10504 }
10505
10506 .yatra-attributes-filter-header {
10507 padding: 12px;
10508 }
10509
10510 .yatra-attributes-filter-title h3 {
10511 font-size: 16px;
10512 }
10513
10514 .yatra-attributes-clear-btn {
10515 padding: 6px 12px;
10516 font-size: 13px;
10517 }
10518
10519 .yatra-attribute-card-header {
10520 padding: 12px;
10521 }
10522
10523 .yatra-attribute-card-body {
10524 padding: 12px;
10525 }
10526
10527 .yatra-attribute-option {
10528 padding: 10px 12px;
10529 gap: 10px;
10530 }
10531
10532 .yatra-attribute-option-label {
10533 font-size: 13px;
10534 }
10535
10536 .yatra-attribute-input {
10537 padding: 8px 12px;
10538 font-size: 13px;
10539 }
10540 }
10541
10542 /* Dark mode styles for attribute filters */
10543 .dark .yatra-attribute-item {
10544 background: var(--yatra-bg-secondary-dark, #1f2937);
10545 border-color: var(--yatra-border-color-dark, #374151);
10546 }
10547
10548 .dark .yatra-attribute-item:hover {
10549 background: var(--yatra-bg-card-dark, #1f2937);
10550 border-color: var(--yatra-primary-color-dark, #60a5fa);
10551 box-shadow: 0 2px 8px rgba(96, 165, 250, 0.15);
10552 }
10553
10554 .dark .yatra-attribute-header {
10555 border-bottom-color: var(--yatra-border-color-dark, #374151);
10556 }
10557
10558 .dark .yatra-attribute-svg-icon {
10559 color: var(--yatra-primary-color-dark, #60a5fa);
10560 }
10561
10562 .dark .yatra-attribute-name {
10563 color: var(--yatra-text-primary-dark, #f9fafb);
10564 }
10565
10566 .dark .yatra-attribute-options .yatra-checkbox-label {
10567 background: var(--yatra-bg-card-dark, #1f2937);
10568 border-color: var(--yatra-border-color-dark, #374151);
10569 }
10570
10571 .dark .yatra-attribute-options .yatra-checkbox-label:hover {
10572 background: var(--yatra-primary-light-dark, #1e3a8a);
10573 border-color: var(--yatra-primary-color-dark, #60a5fa);
10574 box-shadow: 0 1px 4px rgba(96, 165, 250, 0.25);
10575 }
10576
10577 .dark .yatra-attribute-options .yatra-checkbox-label span {
10578 color: var(--yatra-text-primary-dark, #f9fafb);
10579 }
10580
10581 .dark .yatra-attribute-options .yatra-checkbox-label .yatra-filter-count {
10582 background: var(--yatra-bg-secondary-dark, #374151);
10583 color: var(--yatra-text-muted-dark, #9ca3af);
10584 }
10585
10586 .dark .yatra-attribute-options .yatra-price-inputs {
10587 background: var(--yatra-bg-card-dark, #1f2937);
10588 border-color: var(--yatra-border-color-dark, #374151);
10589 }
10590
10591 .dark .yatra-attribute-options .yatra-price-input-label {
10592 color: var(--yatra-text-muted-dark, #9ca3af);
10593 }
10594
10595 .dark .yatra-attribute-options .yatra-price-input {
10596 background: var(--yatra-bg-card-dark, #1f2937);
10597 border-color: var(--yatra-border-color-dark, #374151);
10598 color: var(--yatra-text-primary-dark, #f9fafb);
10599 }
10600
10601 .dark .yatra-attribute-options .yatra-price-input:focus {
10602 border-color: var(--yatra-primary-color-dark, #60a5fa);
10603 box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
10604 }
10605
10606 /* Dark Mode Styles for New Attribute Filter Design */
10607
10608 .dark .yatra-attributes-filter-header {
10609 background: linear-gradient(135deg, #4c1d95 0%, #5b21b6 100%);
10610 border-color: #374151;
10611 }
10612
10613 .dark .yatra-attributes-filter-icon {
10614 background: rgba(255, 255, 255, 0.1);
10615 color: #e9d5ff;
10616 }
10617
10618 .dark .yatra-attributes-filter-title h3 {
10619 color: #f3f4f6;
10620 }
10621
10622 .dark .yatra-attributes-clear-btn {
10623 background: rgba(255, 255, 255, 0.1);
10624 border-color: rgba(255, 255, 255, 0.2);
10625 color: #f3f4f6;
10626 }
10627
10628 .dark .yatra-attributes-clear-btn:hover {
10629 background: rgba(255, 255, 255, 0.2);
10630 }
10631
10632 .dark .yatra-attribute-card {
10633 background: #1f2937;
10634 border-color: #374151;
10635 box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
10636 }
10637
10638 .dark .yatra-attribute-card:hover {
10639 border-color: #8b5cf6;
10640 box-shadow: 0 8px 25px rgba(139, 92, 246, 0.2);
10641 }
10642
10643 .dark .yatra-attribute-card-header {
10644 background: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);
10645 border-bottom-color: #374151;
10646 }
10647
10648 .dark .yatra-attribute-icon-wrapper {
10649 background: #374151;
10650 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
10651 }
10652
10653 .dark .yatra-attribute-icon-svg {
10654 color: #a78bfa;
10655 }
10656
10657 .dark .yatra-attribute-title {
10658 color: #f3f4f6;
10659 }
10660
10661 .dark .yatra-attribute-type {
10662 color: #9ca3af;
10663 }
10664
10665
10666 .dark .yatra-attribute-option {
10667 background: #374151;
10668 border-color: #4b5563;
10669 }
10670
10671 .dark .yatra-attribute-option:hover {
10672 background: #4b5563;
10673 border-color: #6b7280;
10674 }
10675
10676 .dark .yatra-attribute-option-indicator {
10677 background: #1f2937;
10678 border-color: #6b7280;
10679 }
10680
10681 .dark .yatra-attribute-option input[type="checkbox"]:checked + .yatra-attribute-option-indicator {
10682 background: #8b5cf6;
10683 border-color: #8b5cf6;
10684 }
10685
10686 .dark .yatra-attribute-option-label {
10687 color: #e5e7eb;
10688 }
10689
10690 .dark .yatra-attribute-range-inputs {
10691 background: #374151;
10692 border-color: #4b5563;
10693 }
10694
10695 .dark .yatra-attribute-input-label {
10696 color: #9ca3af;
10697 }
10698
10699 .dark .yatra-attribute-input {
10700 background: #1f2937;
10701 border-color: #4b5563;
10702 color: #f3f4f6;
10703 }
10704
10705 .dark .yatra-attribute-input:focus {
10706 border-color: #8b5cf6;
10707 box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.15);
10708 }
10709
10710 .dark .yatra-attribute-range-separator {
10711 color: #6b7280;
10712 }
10713
10714 /* End of Attribute Filter Styles */
10715
10716
10717 /* ============================================
10718 ITINERARY SECTION STYLES
10719 ============================================ */
10720
10721 /* Empty State */
10722 .yatra-empty-itinerary {
10723 text-align: center;
10724 padding: 60px 20px;
10725 background: #f8fafc;
10726 border-radius: 12px;
10727 border: 1px solid #e2e8f0;
10728 }
10729
10730 .yatra-empty-state-icon {
10731 margin-bottom: 20px;
10732 color: #6b7280;
10733 }
10734
10735 .yatra-empty-state-title {
10736 font-size: 1.5rem;
10737 font-weight: 600;
10738 color: #374151;
10739 margin-bottom: 12px;
10740 }
10741
10742 .yatra-empty-state-description {
10743 color: #6b7280;
10744 max-width: 500px;
10745 margin: 0 auto;
10746 line-height: 1.6;
10747 }
10748
10749 /* Gallery Styles - Itinerary Specific */
10750 .yatra-entry-gallery {
10751 margin-top: 20px;
10752 }
10753
10754 .yatra-gallery-title {
10755 display: flex;
10756 align-items: center;
10757 gap: 8px;
10758 font-size: 0.875rem;
10759 font-weight: 600;
10760 color: #374151;
10761 margin-bottom: 12px;
10762 }
10763
10764 .yatra-gallery-grid {
10765 display: grid;
10766 grid-template-columns: repeat(6, 1fr);
10767 gap: 8px;
10768 width: 100%;
10769 }
10770
10771 .yatra-gallery-item-link {
10772 display: block;
10773 text-decoration: none;
10774 }
10775
10776 .yatra-gallery-item {
10777 position: relative;
10778 aspect-ratio: 1;
10779 border-radius: 8px;
10780 overflow: hidden;
10781 cursor: pointer;
10782 transition: opacity 0.2s ease;
10783 background: #f3f4f6;
10784 }
10785
10786 .yatra-gallery-item:hover {
10787 opacity: 0.8;
10788 }
10789
10790 .yatra-media-card {
10791 position: relative;
10792 width: 100%;
10793 height: 100%;
10794 border-radius: 8px;
10795 overflow: hidden;
10796 }
10797
10798 .yatra-media-card img {
10799 width: 100%;
10800 height: 100%;
10801 object-fit: cover;
10802 display: block;
10803 }
10804
10805 /* Itinerary Specific Overlay Styles */
10806 .yatra-entry-gallery .yatra-media-overlay {
10807 position: absolute;
10808 top: 50%;
10809 left: 50%;
10810 transform: translate(-50%, -50%);
10811 width: 16px;
10812 height: 16px;
10813 background: rgba(0, 0, 0, 0.4);
10814 border-radius: 50%;
10815 display: flex;
10816 align-items: center;
10817 justify-content: center;
10818 pointer-events: auto;
10819 cursor: pointer;
10820 transition: all 0.2s ease;
10821 }
10822
10823 .yatra-entry-gallery .yatra-media-overlay:hover {
10824 background: rgba(0, 0, 0, 0.5);
10825 transform: translate(-50%, -50%) scale(1.1);
10826 }
10827
10828 /* Smaller YouTube button for itinerary gallery - same as hero */
10829 .yatra-entry-gallery .yatra-youtube-play-button svg {
10830 width: 24px !important;
10831 height: 24px !important;
10832 }
10833
10834 .yatra-entry-gallery .yatra-youtube-play-button svg circle {
10835 fill: rgba(255, 0, 0, 0.9) !important;
10836 stroke: white !important;
10837 stroke-width: 1px !important;
10838 }
10839
10840 .yatra-entry-gallery .yatra-youtube-play-button svg path {
10841 fill: white !important;
10842 }
10843
10844 /* Remove separate video section - videos now in gallery */
10845 .yatra-entry-video {
10846 display: none;
10847 }
10848
10849
10850 /* Responsive styles */
10851 @media (max-width: 768px) {
10852 .yatra-gallery-grid {
10853 grid-template-columns: repeat(4, 1fr);
10854 gap: 6px;
10855 width: 100%;
10856 }
10857
10858 .yatra-entry-gallery .yatra-media-overlay {
10859 width: 12px;
10860 height: 12px;
10861 }
10862
10863 .yatra-entry-gallery .yatra-youtube-play-button svg {
10864 width: 18px !important;
10865 height: 18px !important;
10866 }
10867
10868 .yatra-entry-gallery .yatra-youtube-play-button svg circle {
10869 fill: rgba(255, 0, 0, 0.9) !important;
10870 stroke: white !important;
10871 stroke-width: 0.5px !important;
10872 }
10873
10874 .yatra-entry-gallery .yatra-youtube-play-button svg path {
10875 fill: white !important;
10876 }
10877 }
10878
10879 @media (max-width: 480px) {
10880 .yatra-gallery-grid {
10881 grid-template-columns: repeat(3, 1fr);
10882 gap: 4px;
10883 width: 100%;
10884 }
10885
10886 .yatra-entry-gallery .yatra-media-overlay {
10887 width: 10px;
10888 height: 10px;
10889 }
10890
10891 .yatra-entry-gallery .yatra-youtube-play-button svg {
10892 width: 14px !important;
10893 height: 14px !important;
10894 }
10895
10896 .yatra-entry-gallery .yatra-youtube-play-button svg circle {
10897 fill: rgba(255, 0, 0, 0.9) !important;
10898 stroke: white !important;
10899 stroke-width: 0.5px !important;
10900 }
10901
10902 .yatra-entry-gallery .yatra-youtube-play-button svg path {
10903 fill: white !important;
10904 }
10905 }
10906
10907
10908 /* Responsive styles */
10909 @media (max-width: 768px) {
10910 .yatra-gallery-grid {
10911 grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
10912 gap: 8px;
10913 }
10914
10915 .yatra-play-overlay {
10916 width: 40px;
10917 height: 40px;
10918 }
10919 }
10920
10921 /* Trip Details Grid Styles */
10922 .yatra-trip-details-grid {
10923 display: grid;
10924 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
10925 gap: 24px;
10926 margin-top: 24px;
10927 }
10928
10929 .yatra-detail-item {
10930 display: flex;
10931 align-items: flex-start;
10932 padding: 16px;
10933 background: #f9fafb;
10934 border-radius: 8px;
10935 border: 1px solid #e5e7eb;
10936 transition: all 0.2s ease;
10937 }
10938
10939 .yatra-detail-item:hover {
10940 background: #f3f4f6;
10941 border-color: #d1d5db;
10942 transform: translateY(-2px);
10943 }
10944
10945 .yatra-detail-label {
10946 display: flex;
10947 align-items: center;
10948 gap: 8px;
10949 font-weight: 600;
10950 color: #374151;
10951 font-size: 0.875rem;
10952 margin-bottom: 4px;
10953 flex-shrink: 0;
10954 min-width: 140px;
10955 }
10956
10957 .yatra-detail-icon {
10958 width: 16px;
10959 height: 16px;
10960 color: #6b7280;
10961 }
10962
10963 .yatra-detail-value {
10964 color: #111827;
10965 font-size: 0.95rem;
10966 line-height: 1.5;
10967 flex: 1;
10968 }
10969
10970 .yatra-no-details {
10971 text-align: center;
10972 padding: 48px 24px;
10973 background: #f9fafb;
10974 border-radius: 8px;
10975 border: 1px solid #e5e7eb;
10976 margin-top: 24px;
10977 }
10978
10979 .yatra-no-details p {
10980 color: #6b7280;
10981 font-size: 1rem;
10982 margin: 0;
10983 }
10984
10985 /* Responsive styles for trip details */
10986 @media (max-width: 768px) {
10987 .yatra-trip-details-grid {
10988 grid-template-columns: 1fr;
10989 gap: 16px;
10990 margin-top: 16px;
10991 }
10992
10993 .yatra-detail-item {
10994 padding: 12px;
10995 flex-direction: column;
10996 align-items: flex-start;
10997 }
10998
10999 .yatra-detail-label {
11000 min-width: auto;
11001 margin-bottom: 8px;
11002 }
11003
11004 .yatra-detail-value {
11005 font-size: 0.9rem;
11006 }
11007 }
11008
11009 @media (max-width: 480px) {
11010 .yatra-trip-details-grid {
11011 gap: 12px;
11012 }
11013
11014 .yatra-detail-item {
11015 padding: 10px;
11016 }
11017
11018 .yatra-no-details {
11019 padding: 32px 16px;
11020 }
11021 }
11022
11023 /* Sticky Navigation Icon Styles */
11024 .yatra-sticky-nav-icon {
11025 width: 18px;
11026 height: 18px;
11027 color: #6b7280;
11028 transition: color 0.2s ease;
11029 }
11030
11031 .yatra-sticky-nav-item:hover .yatra-sticky-nav-icon {
11032 color: #3b82f6;
11033 }
11034
11035 .yatra-sticky-nav-item.active .yatra-sticky-nav-icon {
11036 color: #3b82f6;
11037 }
11038
11039 /* Hero Season Styles */
11040 .yatra-hero-season {
11041 display: flex;
11042 align-items: center;
11043 gap: 6px;
11044 color: #6b7280;
11045 font-size: 15px;
11046 font-weight: 500;
11047 }
11048
11049 /* FAQ Toggle Button Styles */
11050 .faq-toggle-btn {
11051 display: flex;
11052 align-items: center;
11053 gap: 8px;
11054 padding: 8px 16px;
11055 background: #ffffff;
11056 border: 1px solid #e5e7eb;
11057 border-radius: 6px;
11058 color: #374151;
11059 font-size: 14px;
11060 font-weight: 500;
11061 cursor: pointer;
11062 transition: all 0.2s ease;
11063 }
11064
11065 .faq-toggle-btn:hover {
11066 background: #f9fafb;
11067 border-color: #d1d5db;
11068 color: #111827;
11069 }
11070
11071 .faq-toggle-btn .toggle-icon {
11072 width: 16px;
11073 height: 16px;
11074 color: #6b7280;
11075 }
11076
11077 .faq-toggle-btn .toggle-text {
11078 font-size: 14px;
11079 font-weight: 500;
11080 }
11081
11082 /* ============================================
11083 SIMILAR ADVENTURES SECTION
11084 Custom styling for similar trips carousel cards
11085 ============================================ */
11086
11087 /* Similar Trips Card Container */
11088 .yatra-similar-trip-card {
11089 background: #ffffff;
11090 border-radius: 12px;
11091 overflow: hidden;
11092 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
11093 transition: all 0.3s ease;
11094 height: 100%;
11095 display: flex;
11096 flex-direction: column;
11097 }
11098
11099 .yatra-similar-trip-card:hover {
11100 transform: translateY(-4px);
11101 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
11102 }
11103
11104 /* Similar Trips Image Section */
11105 .yatra-similar-trip-image {
11106 position: relative;
11107 width: 100%;
11108 height: 200px;
11109 overflow: hidden;
11110 }
11111
11112 .yatra-similar-trip-image img {
11113 width: 100%;
11114 height: 100%;
11115 object-fit: cover;
11116 transition: transform 0.3s ease;
11117 }
11118
11119 .yatra-similar-trip-card:hover .yatra-similar-trip-image img {
11120 transform: scale(1.05);
11121 }
11122
11123 .yatra-similar-image-link {
11124 display: block;
11125 width: 100%;
11126 height: 100%;
11127 text-decoration: none;
11128 }
11129
11130 /* Similar Trips Discount Badge */
11131 .yatra-similar-discount-badge {
11132 position: absolute;
11133 top: 12px;
11134 left: 12px;
11135 background: #ef4444;
11136 color: white;
11137 padding: 6px 12px;
11138 border-radius: 20px;
11139 font-size: 12px;
11140 font-weight: 600;
11141 text-transform: uppercase;
11142 letter-spacing: 0.5px;
11143 z-index: 5;
11144 box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
11145 }
11146
11147 /* Similar Trips Favorite Button */
11148 .yatra-similar-favorite-btn {
11149 position: absolute;
11150 top: 12px;
11151 right: 12px;
11152 background: rgba(255, 255, 255, 0.9);
11153 border: none;
11154 width: 36px;
11155 height: 36px;
11156 border-radius: 50%;
11157 display: flex;
11158 align-items: center;
11159 justify-content: center;
11160 cursor: pointer;
11161 transition: all 0.3s ease;
11162 z-index: 5;
11163 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
11164 }
11165
11166 .yatra-similar-favorite-btn:hover {
11167 background: #ffffff;
11168 transform: scale(1.1);
11169 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
11170 }
11171
11172 .yatra-similar-favorite-btn svg {
11173 color: #6b7280;
11174 transition: color 0.3s ease;
11175 }
11176
11177 .yatra-similar-favorite-btn:hover svg {
11178 color: #ef4444;
11179 }
11180
11181 /* Similar Trips Difficulty Overlay */
11182 .yatra-similar-difficulty-overlay {
11183 position: absolute;
11184 bottom: 12px;
11185 right: 12px;
11186 background: rgba(0, 0, 0, 0.7);
11187 color: white;
11188 padding: 6px 10px;
11189 border-radius: 6px;
11190 font-size: 12px;
11191 font-weight: 500;
11192 display: flex;
11193 align-items: center;
11194 gap: 4px;
11195 z-index: 5;
11196 backdrop-filter: blur(4px);
11197 }
11198
11199 .similar-difficulty-icon {
11200 width: 14px;
11201 height: 14px;
11202 flex-shrink: 0;
11203 }
11204
11205 /* Similar Trips Content Section */
11206 .yatra-similar-trip-content {
11207 padding: 20px;
11208 flex: 1;
11209 display: flex;
11210 flex-direction: column;
11211 }
11212
11213 /* Similar Trips Destinations */
11214 .yatra-similar-destinations {
11215 display: flex;
11216 align-items: center;
11217 gap: 6px;
11218 margin-bottom: 12px;
11219 font-size: 14px;
11220 color: #6b7280;
11221 }
11222
11223 .similar-location-icon {
11224 width: 14px;
11225 height: 14px;
11226 flex-shrink: 0;
11227 color: #9ca3af;
11228 }
11229
11230 .similar-destination-link {
11231 color: #6b7280;
11232 text-decoration: none;
11233 transition: color 0.3s ease;
11234 }
11235
11236 .similar-destination-link:hover {
11237 color: #3b82f6;
11238 }
11239
11240 /* Similar Trips Title */
11241 .yatra-similar-trip-title {
11242 margin: 0 0 16px 0;
11243 font-size: 18px;
11244 font-weight: 600;
11245 line-height: 1.4;
11246 color: #111827;
11247 }
11248
11249 .yatra-similar-title-link {
11250 color: #111827;
11251 text-decoration: none;
11252 transition: color 0.3s ease;
11253 }
11254
11255 .yatra-similar-title-link:hover {
11256 color: #3b82f6;
11257 }
11258
11259 /* Similar Trips Stats */
11260 .yatra-similar-trip-stats {
11261 display: flex;
11262 gap: 16px;
11263 margin-bottom: 16px;
11264 flex-wrap: wrap;
11265 }
11266
11267 .yatra-similar-stat {
11268 display: flex;
11269 align-items: center;
11270 gap: 6px;
11271 font-size: 13px;
11272 color: #6b7280;
11273 }
11274
11275 .similar-stat-icon {
11276 width: 14px;
11277 height: 14px;
11278 flex-shrink: 0;
11279 color: #9ca3af;
11280 }
11281
11282 /* Similar Trips Categories */
11283 .yatra-similar-categories {
11284 display: flex;
11285 gap: 8px;
11286 margin-bottom: 20px;
11287 flex-wrap: wrap;
11288 }
11289
11290 .yatra-similar-category-tag {
11291 background: #f3f4f6;
11292 color: #374151;
11293 padding: 4px 10px;
11294 border-radius: 12px;
11295 font-size: 12px;
11296 font-weight: 500;
11297 text-decoration: none;
11298 transition: all 0.3s ease;
11299 }
11300
11301 .yatra-similar-category-tag:hover {
11302 background: #e5e7eb;
11303 color: #111827;
11304 }
11305
11306 /* Similar Trips Footer */
11307 .yatra-similar-trip-footer {
11308 margin-top: auto;
11309 display: flex;
11310 align-items: center;
11311 justify-content: space-between;
11312 gap: 12px;
11313 }
11314
11315 /* Similar Trips Price — compact single-line row, baseline-aligned */
11316 .yatra-similar-price {
11317 display: flex;
11318 flex-direction: row;
11319 align-items: center;
11320 min-width: 0;
11321 flex: 1;
11322 }
11323
11324 .yatra-similar-trip-price {
11325 display: flex;
11326 flex-wrap: wrap;
11327 align-items: baseline;
11328 column-gap: 6px;
11329 row-gap: 2px;
11330 line-height: 1.25;
11331 color: #111827;
11332 }
11333
11334 .yatra-similar-price-label {
11335 font-size: 11px;
11336 font-weight: 600;
11337 color: #6b7280;
11338 letter-spacing: 0.02em;
11339 flex-shrink: 0;
11340 }
11341
11342 .yatra-similar-price-amount {
11343 font-size: 15px;
11344 font-weight: 700;
11345 color: #111827;
11346 }
11347
11348 .yatra-similar-price-contact {
11349 font-size: 13px;
11350 font-weight: 500;
11351 color: #6b7280;
11352 }
11353
11354 .yatra-similar-original-price {
11355 font-size: 11px;
11356 font-weight: 500;
11357 color: #9ca3af;
11358 text-decoration: line-through;
11359 margin-left: 0;
11360 }
11361
11362 /* Similar Trips View Button */
11363 .yatra-similar-view-btn {
11364 background: #3b82f6;
11365 color: white;
11366 border: none;
11367 padding: 10px 18px;
11368 border-radius: 6px;
11369 font-size: 14px;
11370 font-weight: 600;
11371 text-decoration: none;
11372 transition: all 0.3s ease;
11373 white-space: nowrap;
11374 flex-shrink: 0;
11375 }
11376
11377 .yatra-similar-view-btn:hover {
11378 background: #2563eb;
11379 transform: translateY(-1px);
11380 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
11381 }
11382
11383 /* ============================================
11384 SIMILAR ADVENTURES RESPONSIVE DESIGN
11385 ============================================ */
11386
11387 @media (max-width: 768px) {
11388 .yatra-similar-trip-card {
11389 margin-bottom: 16px;
11390 }
11391
11392 .yatra-similar-trip-image {
11393 height: 160px;
11394 }
11395
11396 .yatra-similar-trip-content {
11397 padding: 16px;
11398 }
11399
11400 .yatra-similar-trip-title {
11401 font-size: 16px;
11402 }
11403
11404 .yatra-similar-trip-stats {
11405 gap: 12px;
11406 }
11407
11408 .yatra-similar-trip-footer {
11409 flex-direction: column;
11410 align-items: flex-start;
11411 gap: 12px;
11412 }
11413
11414 .yatra-similar-price {
11415 width: 100%;
11416 }
11417
11418 .yatra-similar-view-btn {
11419 width: 100%;
11420 text-align: center;
11421 }
11422 }
11423
11424 @media (max-width: 480px) {
11425 .yatra-similar-trip-image {
11426 height: 140px;
11427 }
11428
11429 .yatra-similar-trip-content {
11430 padding: 12px;
11431 }
11432
11433 .yatra-similar-trip-title {
11434 font-size: 15px;
11435 margin-bottom: 12px;
11436 }
11437
11438 .yatra-similar-trip-stats {
11439 gap: 8px;
11440 font-size: 12px;
11441 }
11442
11443 .yatra-similar-categories {
11444 margin-bottom: 16px;
11445 }
11446 }
11447
11448 /* ============================================
11449 DOWNLOADS SECTION
11450 List view with download icons
11451 ============================================ */
11452
11453 /* Downloads Container */
11454 .yatra-downloads-container {
11455 margin-top: 24px;
11456 }
11457
11458 .yatra-downloads-list {
11459 display: flex;
11460 flex-direction: column;
11461 gap: 16px;
11462 margin-top: 20px;
11463 }
11464
11465 /* Download Item - List View */
11466 .yatra-download-item {
11467 display: flex;
11468 align-items: center;
11469 gap: 16px;
11470 background: #ffffff;
11471 border: 1px solid #e5e7eb;
11472 border-radius: 12px;
11473 padding: 20px;
11474 transition: all 0.3s ease;
11475 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
11476 }
11477
11478 .yatra-download-item:hover {
11479 transform: translateY(-1px);
11480 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
11481 border-color: #d1d5db;
11482 }
11483
11484 /* Download Icon Section */
11485 .yatra-download-icon {
11486 display: flex;
11487 align-items: center;
11488 justify-content: center;
11489 width: 60px;
11490 height: 60px;
11491 min-width: 60px;
11492 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
11493 border-radius: 12px;
11494 color: white;
11495 flex-shrink: 0;
11496 }
11497
11498 .yatra-download-file-icon {
11499 width: 28px;
11500 height: 28px;
11501 color: white;
11502 }
11503
11504 /* Download Content */
11505 .yatra-download-content {
11506 flex: 1;
11507 min-width: 0;
11508 }
11509
11510 .yatra-download-title {
11511 margin: 0 0 8px 0;
11512 font-size: 16px;
11513 font-weight: 600;
11514 line-height: 1.4;
11515 color: #111827;
11516 }
11517
11518 .yatra-download-description {
11519 margin: 0 0 12px 0;
11520 font-size: 14px;
11521 line-height: 1.5;
11522 color: #6b7280;
11523 }
11524
11525 /* Download Meta */
11526 .yatra-download-meta {
11527 display: flex;
11528 align-items: center;
11529 gap: 12px;
11530 flex-wrap: wrap;
11531 font-size: 12px;
11532 color: #9ca3af;
11533 }
11534
11535 .yatra-download-file-size,
11536 .yatra-download-file-type {
11537 background: #f3f4f6;
11538 padding: 3px 8px;
11539 border-radius: 4px;
11540 font-weight: 500;
11541 }
11542
11543 /* Download Action */
11544 .yatra-download-action {
11545 flex-shrink: 0;
11546 margin-left: auto;
11547 }
11548
11549 .yatra-download-btn {
11550 display: flex;
11551 align-items: center;
11552 gap: 8px;
11553 background: #3b82f6;
11554 color: white;
11555 border: none;
11556 padding: 10px 20px;
11557 border-radius: 8px;
11558 font-size: 14px;
11559 font-weight: 600;
11560 cursor: pointer;
11561 text-decoration: none;
11562 transition: all 0.3s ease;
11563 white-space: nowrap;
11564 }
11565
11566 .yatra-download-btn:hover {
11567 background: #2563eb;
11568 transform: translateY(-1px);
11569 box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
11570 color: white;
11571 }
11572
11573 .yatra-download-btn-icon {
11574 width: 16px;
11575 height: 16px;
11576 flex-shrink: 0;
11577 }
11578
11579 .yatra-download-btn-disabled {
11580 background: #9ca3af;
11581 color: #6b7280;
11582 cursor: not-allowed;
11583 opacity: 0.7;
11584 }
11585
11586 .yatra-download-btn-disabled:hover {
11587 background: #9ca3af;
11588 transform: none;
11589 box-shadow: none;
11590 color: #6b7280;
11591 }
11592
11593 /* Responsive Design */
11594 @media (max-width: 768px) {
11595 .yatra-downloads-list {
11596 gap: 12px;
11597 }
11598
11599 .yatra-download-item {
11600 flex-direction: column;
11601 align-items: flex-start;
11602 gap: 12px;
11603 padding: 16px;
11604 }
11605
11606 .yatra-download-icon {
11607 width: 50px;
11608 height: 50px;
11609 min-width: 50px;
11610 }
11611
11612 .yatra-download-file-icon {
11613 width: 24px;
11614 height: 24px;
11615 }
11616
11617 .yatra-download-action {
11618 margin-left: 0;
11619 width: 100%;
11620 }
11621
11622 .yatra-download-btn {
11623 width: 100%;
11624 justify-content: center;
11625 }
11626 }
11627
11628 @media (max-width: 480px) {
11629 .yatra-download-item {
11630 padding: 12px;
11631 }
11632
11633 .yatra-download-title {
11634 font-size: 15px;
11635 }
11636
11637 .yatra-download-description {
11638 font-size: 13px;
11639 }
11640
11641 .yatra-download-meta {
11642 font-size: 11px;
11643 gap: 8px;
11644 }
11645 }
11646
11647 /* End of Downloads Section Styles */
11648
11649 /* ============================================
11650 SINGLE TRIP — Tab sections (moved from partials; token-based spacing)
11651 ============================================ */
11652
11653 /* --- What makes this trip special --- */
11654 #what-makes-special .yatra-trip-special-container {
11655 max-width: 800px;
11656 margin: 0 auto;
11657 }
11658
11659 #what-makes-special .yatra-trip-special-content {
11660 background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
11661 border-radius: 16px;
11662 padding: clamp(var(--yatra-container-padding), 5vw, 2.5rem);
11663 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
11664 position: relative;
11665 overflow: hidden;
11666 }
11667
11668 #what-makes-special .yatra-trip-special-content::before {
11669 content: '';
11670 position: absolute;
11671 top: -50%;
11672 right: -50%;
11673 width: 200%;
11674 height: 200%;
11675 background: radial-gradient(circle, rgba(251, 191, 36, 0.1) 0%, transparent 70%);
11676 animation: yatra-special-float 6s ease-in-out infinite;
11677 }
11678
11679 @keyframes yatra-special-float {
11680 0%, 100% { transform: translateY(0) rotate(0deg); }
11681 50% { transform: translateY(-20px) rotate(180deg); }
11682 }
11683
11684 #what-makes-special .yatra-special-features {
11685 position: relative;
11686 z-index: 1;
11687 }
11688
11689 #what-makes-special .yatra-special-feature-item {
11690 display: flex;
11691 align-items: flex-start;
11692 gap: var(--yatra-small-gap);
11693 margin-bottom: var(--yatra-element-gap);
11694 padding: var(--yatra-small-gap);
11695 background: rgba(255, 255, 255, 0.7);
11696 border-radius: 12px;
11697 transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
11698 }
11699
11700 #what-makes-special .yatra-special-feature-item:hover {
11701 background: rgba(255, 255, 255, 0.9);
11702 transform: translateY(-2px);
11703 box-shadow: 0 8px 25px -5px rgba(251, 191, 36, 0.2);
11704 }
11705
11706 #what-makes-special .yatra-special-feature-item:last-child {
11707 margin-bottom: 0;
11708 }
11709
11710 #what-makes-special .yatra-special-feature-icon {
11711 flex-shrink: 0;
11712 width: 24px;
11713 height: 24px;
11714 color: #f59e0b;
11715 margin-top: 2px;
11716 }
11717
11718 #what-makes-special .yatra-special-feature-text {
11719 font-size: 1rem;
11720 line-height: 1.6;
11721 color: #78350f;
11722 font-weight: 500;
11723 }
11724
11725 #what-makes-special .yatra-special-badge {
11726 display: inline-flex;
11727 align-items: center;
11728 gap: var(--yatra-mini-gap);
11729 margin-top: var(--yatra-element-gap);
11730 padding: var(--yatra-tiny-gap) var(--yatra-element-gap);
11731 background: #f59e0b;
11732 color: #fff;
11733 border-radius: 25px;
11734 font-weight: 600;
11735 font-size: 0.875rem;
11736 box-shadow: 0 4px 6px -1px rgba(245, 158, 11, 0.3);
11737 }
11738
11739 #what-makes-special .yatra-badge-icon {
11740 width: 16px;
11741 height: 16px;
11742 }
11743
11744 #what-makes-special .yatra-special-features .yatra-no-content {
11745 color: #92400e;
11746 font-style: italic;
11747 text-align: center;
11748 padding: 2rem;
11749 background: rgba(255, 255, 255, 0.5);
11750 border-radius: 12px;
11751 }
11752
11753 @media (prefers-color-scheme: dark) {
11754 #what-makes-special .yatra-trip-special-content {
11755 background: linear-gradient(135deg, #451a03 0%, #78350f 100%);
11756 }
11757
11758 #what-makes-special .yatra-special-feature-item {
11759 background: rgba(30, 41, 59, 0.7);
11760 }
11761
11762 #what-makes-special .yatra-special-feature-item:hover {
11763 background: rgba(30, 41, 59, 0.9);
11764 }
11765
11766 #what-makes-special .yatra-special-feature-text {
11767 color: #fbbf24;
11768 }
11769
11770 #what-makes-special .yatra-special-badge {
11771 background: #f59e0b;
11772 color: #451a03;
11773 }
11774
11775 #what-makes-special .yatra-special-features .yatra-no-content {
11776 color: #fbbf24;
11777 background: rgba(30, 41, 59, 0.5);
11778 }
11779 }
11780
11781 @media (max-width: 768px) {
11782 #what-makes-special .yatra-special-feature-item {
11783 padding: var(--yatra-tiny-gap);
11784 gap: var(--yatra-tiny-gap);
11785 }
11786
11787 #what-makes-special .yatra-special-feature-icon {
11788 width: 20px;
11789 height: 20px;
11790 }
11791
11792 #what-makes-special .yatra-special-feature-text {
11793 font-size: 0.9rem;
11794 }
11795 }
11796
11797 /* --- Trip story --- */
11798 #trip-story .yatra-trip-story-container {
11799 max-width: 800px;
11800 margin: 0 auto;
11801 }
11802
11803 #trip-story .yatra-trip-story-content {
11804 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
11805 border-radius: 16px;
11806 padding: clamp(var(--yatra-container-padding), 5vw, 2.5rem);
11807 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
11808 position: relative;
11809 overflow: hidden;
11810 }
11811
11812 #trip-story .yatra-trip-story-content::before {
11813 content: '"';
11814 position: absolute;
11815 top: -20px;
11816 left: var(--yatra-element-gap);
11817 font-size: 120px;
11818 color: #e2e8f0;
11819 font-family: Georgia, serif;
11820 z-index: 0;
11821 }
11822
11823 #trip-story .yatra-trip-story-text {
11824 position: relative;
11825 z-index: 1;
11826 font-size: 1.125rem;
11827 line-height: 1.8;
11828 color: #475569;
11829 }
11830
11831 #trip-story .yatra-trip-story-text p {
11832 margin-bottom: 1.5rem;
11833 }
11834
11835 #trip-story .yatra-trip-story-text p:last-child {
11836 margin-bottom: 0;
11837 }
11838
11839 #trip-story .yatra-trip-story-text h1,
11840 #trip-story .yatra-trip-story-text h2,
11841 #trip-story .yatra-trip-story-text h3 {
11842 color: #1e293b;
11843 margin-top: 2rem;
11844 margin-bottom: 1rem;
11845 }
11846
11847 #trip-story .yatra-trip-story-text h1 { font-size: 1.875rem; }
11848 #trip-story .yatra-trip-story-text h2 { font-size: 1.5rem; }
11849 #trip-story .yatra-trip-story-text h3 { font-size: 1.25rem; }
11850
11851 #trip-story .yatra-trip-story-text ul,
11852 #trip-story .yatra-trip-story-text ol {
11853 margin: 1.5rem 0;
11854 padding-left: 2rem;
11855 }
11856
11857 #trip-story .yatra-trip-story-text li {
11858 margin-bottom: 0.5rem;
11859 color: #475569;
11860 }
11861
11862 #trip-story .yatra-trip-story-text blockquote {
11863 border-left: 4px solid #3b82f6;
11864 padding-left: 1.5rem;
11865 margin: 1.5rem 0;
11866 font-style: italic;
11867 color: #64748b;
11868 }
11869
11870 #trip-story .yatra-trip-story-text strong {
11871 color: #1e293b;
11872 font-weight: 600;
11873 }
11874
11875 #trip-story .yatra-trip-story-text em {
11876 color: #64748b;
11877 font-style: italic;
11878 }
11879
11880 #trip-story .yatra-trip-story-meta {
11881 margin-top: var(--yatra-element-gap);
11882 text-align: center;
11883 }
11884
11885 #trip-story .yatra-story-highlight {
11886 display: inline-flex;
11887 align-items: center;
11888 gap: var(--yatra-mini-gap);
11889 padding: var(--yatra-mini-gap) var(--yatra-small-gap);
11890 background: #fef3c7;
11891 border-radius: 20px;
11892 color: #92400e;
11893 font-size: 0.875rem;
11894 font-weight: 500;
11895 }
11896
11897 #trip-story .yatra-story-icon {
11898 width: 16px;
11899 height: 16px;
11900 }
11901
11902 #trip-story .yatra-trip-story-text > .yatra-no-content {
11903 color: #94a3b8;
11904 font-style: italic;
11905 text-align: center;
11906 padding: 2rem;
11907 }
11908
11909 @media (prefers-color-scheme: dark) {
11910 #trip-story .yatra-trip-story-content {
11911 background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
11912 }
11913
11914 #trip-story .yatra-trip-story-content::before {
11915 color: #475569;
11916 }
11917
11918 #trip-story .yatra-trip-story-text {
11919 color: #cbd5e1;
11920 }
11921
11922 #trip-story .yatra-trip-story-text h1,
11923 #trip-story .yatra-trip-story-text h2,
11924 #trip-story .yatra-trip-story-text h3 {
11925 color: #f8fafc;
11926 }
11927
11928 #trip-story .yatra-trip-story-text li {
11929 color: #cbd5e1;
11930 }
11931
11932 #trip-story .yatra-trip-story-text blockquote {
11933 color: #94a3b8;
11934 border-left-color: #60a5fa;
11935 }
11936
11937 #trip-story .yatra-trip-story-text strong {
11938 color: #f8fafc;
11939 }
11940
11941 #trip-story .yatra-trip-story-text em {
11942 color: #94a3b8;
11943 }
11944
11945 #trip-story .yatra-story-highlight {
11946 background: #451a03;
11947 color: #fbbf24;
11948 }
11949
11950 #trip-story .yatra-trip-story-text > .yatra-no-content {
11951 color: #64748b;
11952 }
11953 }
11954
11955 @media (max-width: 768px) {
11956 #trip-story .yatra-trip-story-text {
11957 font-size: 1rem;
11958 }
11959
11960 #trip-story .yatra-trip-story-content::before {
11961 font-size: 80px;
11962 top: -10px;
11963 left: var(--yatra-tiny-gap);
11964 }
11965 }
11966
11967 /* --- Testimonials tab --- */
11968 .yatra-testimonials-content {
11969 margin-top: var(--yatra-section-gap);
11970 }
11971
11972 .yatra-testimonial-avatar {
11973 width: 52px;
11974 height: 52px;
11975 border-radius: 50%;
11976 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
11977 color: #fff;
11978 display: flex;
11979 align-items: center;
11980 justify-content: center;
11981 font-weight: 600;
11982 font-size: 18px;
11983 flex-shrink: 0;
11984 }
11985
11986 .yatra-testimonials-empty {
11987 text-align: center;
11988 padding: clamp(3rem, 10vw, 5rem) var(--yatra-container-padding);
11989 background: #f8fafc;
11990 border-radius: 16px;
11991 border: 2px dashed #e2e8f0;
11992 }
11993
11994 .yatra-testimonials-empty-icon {
11995 margin-bottom: var(--yatra-element-gap);
11996 }
11997
11998 .yatra-testimonials-empty-svg {
11999 width: 80px;
12000 height: 80px;
12001 color: #cbd5e1;
12002 margin: 0 auto;
12003 }
12004
12005 .yatra-testimonials-empty-title {
12006 font-size: 1.5rem;
12007 font-weight: 600;
12008 color: #1e293b;
12009 margin-bottom: var(--yatra-tiny-gap);
12010 }
12011
12012 .yatra-testimonials-empty-text {
12013 color: #64748b;
12014 margin-bottom: var(--yatra-section-gap);
12015 max-width: 400px;
12016 margin-left: auto;
12017 margin-right: auto;
12018 }
12019
12020 .yatra-testimonials-empty-cta {
12021 display: inline-flex;
12022 align-items: center;
12023 gap: var(--yatra-mini-gap);
12024 background: #3b82f6;
12025 color: #fff;
12026 text-decoration: none;
12027 padding: var(--yatra-tiny-gap) var(--yatra-element-gap);
12028 border-radius: 8px;
12029 font-weight: 500;
12030 transition: background-color 0.3s ease;
12031 }
12032
12033 .yatra-testimonials-empty-cta:hover {
12034 background: #2563eb;
12035 color: #fff;
12036 }
12037
12038 @media (prefers-color-scheme: dark) {
12039 .yatra-testimonials-empty {
12040 background: #1e293b;
12041 border-color: #334155;
12042 }
12043
12044 .yatra-testimonials-empty-title {
12045 color: #f8fafc;
12046 }
12047
12048 .yatra-testimonials-empty-text {
12049 color: #cbd5e1;
12050 }
12051 }
12052
12053 @media (max-width: 768px) {
12054 .yatra-testimonials-empty {
12055 padding: clamp(2.5rem, 8vw, 3.75rem) var(--yatra-container-padding);
12056 }
12057 }
12058
12059 /* --- FAQ accordion --- */
12060 #faq .faq-header {
12061 display: flex;
12062 justify-content: space-between;
12063 align-items: center;
12064 margin-bottom: var(--yatra-element-gap);
12065 flex-wrap: wrap;
12066 gap: var(--yatra-small-gap);
12067 }
12068
12069 #faq .faq-controls {
12070 display: flex;
12071 gap: var(--yatra-mini-gap);
12072 }
12073
12074 #faq .faq-toggle-btn,
12075 #faq .faq-btn {
12076 display: inline-flex;
12077 align-items: center;
12078 gap: 6px;
12079 padding: 6px var(--yatra-tiny-gap);
12080 background: #fff;
12081 border: 1px solid #e5e7eb;
12082 border-radius: 6px;
12083 font-size: 13px;
12084 color: #6b7280;
12085 cursor: pointer;
12086 transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
12087 }
12088
12089 #faq .faq-toggle-btn:hover,
12090 #faq .faq-btn:hover {
12091 background: #f9fafb;
12092 border-color: #d1d5db;
12093 color: #374151;
12094 }
12095
12096 #faq .faq-toggle-btn svg,
12097 #faq .faq-btn svg {
12098 flex-shrink: 0;
12099 }
12100
12101 #faq .faq-btn-arrow {
12102 color: #9ca3af;
12103 transition: transform 0.3s ease;
12104 }
12105
12106 #faq .faq-container {
12107 max-width: 800px;
12108 margin: 0 auto;
12109 border: 1px solid #e5e7eb;
12110 border-radius: 8px;
12111 overflow: hidden;
12112 }
12113
12114 #faq .faq-item {
12115 border-bottom: 1px solid #e5e7eb;
12116 }
12117
12118 #faq .faq-item:last-child {
12119 border-bottom: none;
12120 }
12121
12122 #faq .faq-question {
12123 width: 100%;
12124 background: none;
12125 border: none;
12126 padding: var(--yatra-small-gap) var(--yatra-element-gap);
12127 text-align: left;
12128 font-size: 15px;
12129 font-weight: 500;
12130 color: #374151;
12131 cursor: pointer;
12132 display: flex;
12133 justify-content: space-between;
12134 align-items: center;
12135 transition: background-color 0.2s ease;
12136 }
12137
12138 #faq .faq-question:hover {
12139 background: #f9fafb;
12140 }
12141
12142 #faq .faq-item.active .faq-question {
12143 background: #f9fafb;
12144 font-weight: 600;
12145 }
12146
12147 #faq .faq-arrow {
12148 color: #9ca3af;
12149 transition: transform 0.3s ease;
12150 flex-shrink: 0;
12151 margin-left: var(--yatra-tiny-gap);
12152 }
12153
12154 #faq .faq-item.active .faq-arrow {
12155 color: #6b7280;
12156 transform: rotate(180deg);
12157 }
12158
12159 #faq .faq-toggle-btn .collapse-icon {
12160 display: none;
12161 }
12162
12163 #faq .faq-toggle-btn.is-all-expanded .expand-icon {
12164 display: none;
12165 }
12166
12167 #faq .faq-toggle-btn.is-all-expanded .collapse-icon {
12168 display: block;
12169 }
12170
12171 #faq .faq-answer {
12172 max-height: 0;
12173 overflow: hidden;
12174 transition: max-height 0.35s ease;
12175 background: #f9fafb;
12176 padding: 0 var(--yatra-element-gap);
12177 color: #6b7280;
12178 line-height: 1.5;
12179 font-size: 14px;
12180 }
12181
12182 #faq .faq-item.active .faq-answer {
12183 max-height: min(4000px, 200vh);
12184 padding: 0 var(--yatra-element-gap) var(--yatra-small-gap) var(--yatra-element-gap);
12185 }
12186
12187 #faq .faq-answer p {
12188 margin: 0 0 var(--yatra-mini-gap) 0;
12189 }
12190
12191 #faq .faq-answer p:last-child {
12192 margin-bottom: 0;
12193 }
12194
12195 #faq .faq-answer ul,
12196 #faq .faq-answer ol {
12197 margin: var(--yatra-mini-gap) 0;
12198 padding-left: var(--yatra-small-gap);
12199 }
12200
12201 #faq .faq-answer li {
12202 margin-bottom: var(--yatra-micro-gap);
12203 }
12204
12205 @media (max-width: 768px) {
12206 #faq .faq-header {
12207 flex-direction: column;
12208 align-items: flex-start;
12209 gap: var(--yatra-tiny-gap);
12210 }
12211
12212 #faq .faq-controls {
12213 width: 100%;
12214 justify-content: flex-start;
12215 }
12216
12217 #faq .faq-question {
12218 padding: 14px var(--yatra-small-gap);
12219 font-size: 14px;
12220 }
12221
12222 #faq .faq-answer {
12223 font-size: 13px;
12224 }
12225
12226 #faq .faq-item.active .faq-answer {
12227 padding: 0 var(--yatra-small-gap) 14px var(--yatra-small-gap);
12228 }
12229 }
12230