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

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

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