PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.2.6
Yatra – Travel Booking & Tour Operator Software v3.0.2.6
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.6, at assets/css/trip.css

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