:root{--color-primary:#c2410c;--color-primary-hover:#9a3412;--color-secondary:#0f172a;--color-accent:#b45309;--color-accent-hover:#92400e;--color-bg-light:#fafaf9;--color-bg-card:#fff;--color-text-dark:#1c1917;--color-text-muted:#3f3f46;--color-border:#e7e5e4;--color-glass:#ffffffbf;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #00000014;--shadow-glow:0 0 15px #e05a1033;--radius-sm:6px;--radius-md:12px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg-light);color:var(--color-text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{outline:none;font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-light)}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#d6d3d1}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.navbar{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:1000;width:100%;height:80px;transition:all var(--transition-normal);background-color:#fafaf9d9;justify-content:space-between;align-items:center;padding:0 4%;display:flex;position:fixed;top:0;left:0}.navbarScrolled{height:65px;box-shadow:var(--shadow-md);background-color:#fafaf9f2}.logo{font-family:var(--font-serif);color:var(--color-secondary);align-items:center;gap:10px;font-size:1.5rem;font-weight:700;display:flex}.logoSpan{color:var(--color-primary)}.navLinks{align-items:center;gap:30px;display:flex}.navLink{color:var(--color-text-dark);cursor:pointer;transition:color var(--transition-fast);padding:5px 0;font-size:.95rem;font-weight:500;position:relative}.navLink:hover{color:var(--color-primary)}.navLink:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width var(--transition-normal);position:absolute;bottom:0;left:0}.navLink:hover:after{width:100%}.ctaButton{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);box-shadow:var(--shadow-sm);border:none;padding:10px 22px;font-size:.9rem;font-weight:600}.ctaButton:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mobileMenuBtn{color:var(--color-secondary);cursor:pointer;background:0 0;border:none;display:none}.mobileMenu{background-color:var(--color-bg-card);width:100%;box-shadow:var(--shadow-lg);border-bottom:2px solid var(--color-primary);z-index:999;transition:transform var(--transition-normal);flex-direction:column;gap:15px;padding:20px;display:flex;position:fixed;top:80px;left:0;transform:translateY(-150%)}.navbarScrolled~.mobileMenu{top:65px}.mobileMenuOpen{transform:translateY(0)}.mobileMenuLink{border-bottom:1px solid var(--color-border);padding:10px 0;font-size:1.1rem;font-weight:600}.mobileMenuLink:last-child{border-bottom:none}@media (width<=968px){.navLinks{display:none}.mobileMenuBtn{display:block}}.footer{background-color:var(--color-secondary);color:#94a3b8;border-top:2px solid var(--color-primary);padding:60px 4% 30px}.footerGrid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;max-width:1200px;margin:0 auto;padding-bottom:40px;display:grid}.footerBrand{flex-direction:column;gap:15px;display:flex}.footerLogo{font-family:var(--font-serif);color:#fff;align-items:center;gap:10px;font-size:1.4rem;font-weight:700;display:flex}.footerLogoSpan{color:var(--color-primary)}.footerDesc{font-size:.9rem;line-height:1.6}.footerColTitle{font-family:var(--font-serif);margin-bottom:20px;font-size:1.1rem;font-weight:600;position:relative}.footerColTitle:after{content:"";background-color:var(--color-primary);width:30px;height:2px;position:absolute;bottom:-6px;left:0}.footerLinks{flex-direction:column;gap:12px;list-style:none;display:flex}.footerLinkItem{transition:color var(--transition-fast), transform var(--transition-fast);cursor:pointer;font-size:.9rem}.footerLinkItem:hover{transform:translate(4px)}.newsletterText{margin-bottom:15px;font-size:.85rem}.newsletterForm{gap:8px;display:flex}.newsletterInput{border-radius:var(--radius-sm);background-color:#ffffff0d;border:1px solid #ffffff1a;flex:1;padding:10px 14px;font-size:.9rem}.newsletterInput:focus{border-color:var(--color-primary)}.newsletterBtn{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);border:none;padding:10px 15px;font-weight:600}.newsletterBtn:hover{background-color:var(--color-primary-hover)}.footerBottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding-top:30px;font-size:.85rem;display:flex}.socialRow{gap:12px;display:flex}.socialBtn{color:#fff;width:36px;height:36px;transition:all var(--transition-fast);cursor:pointer;background-color:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;display:flex}.socialBtn:hover{background-color:var(--color-primary);transform:translateY(-2px)}@media (width<=900px){.footerGrid{grid-template-columns:1fr 1fr}}@media (width<=600px){.footerGrid{grid-template-columns:1fr}.footerBottom{text-align:center;flex-direction:column}}.homeContainer{background-color:var(--color-bg-light);display:block;overflow-x:hidden}.heroBanner{text-align:center;color:#fff;background-image:url(https://images.unsplash.com/photo-1599661046289-e31897846e41?auto=format&fit=crop&w=1600&q=80);background-position:50%;background-size:cover;justify-content:center;align-items:center;height:100vh;min-height:600px;padding:0 20px;display:flex;position:relative}.heroOverlay{z-index:1;background:linear-gradient(#1e1b4b8c 0%,#781e0aeb 100%);position:absolute;inset:0}.heroContent{z-index:2;max-width:800px;animation:1.2s ease-out fadeInUp;position:relative}.heroPre{font-family:var(--font-serif);color:#fef08a;text-transform:uppercase;letter-spacing:5px;text-shadow:0 3px 10px #000000f2;margin-bottom:15px;font-size:clamp(1rem,2.5vw,1.6rem);display:block}.heroContent h1{font-family:var(--font-serif);color:#fff;text-shadow:0 4px 20px #000000e6;letter-spacing:1px;margin:0;font-size:clamp(2.8rem,7vw,5rem);font-weight:700}.heroContent h1 span{color:#fcd34d}.heroDivider{background-color:var(--color-primary);border-radius:2px;width:140px;height:3px;margin:22px auto}.heroContent p{color:#cbd5e1;text-shadow:0 2px 4px #0000004d;margin-bottom:40px;font-size:clamp(1rem,2vw,1.3rem);line-height:1.7}.heroActions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btnPrimary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast);padding:14px 32px;font-size:1.05rem;font-weight:700;box-shadow:0 4px 10px #c2410c59}.btnPrimary:hover{background-color:var(--color-primary-hover);transform:translateY(-3px);box-shadow:0 8px 20px #c2410c66}.btnSecondary{color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff1f;border:2px solid #fff;align-items:center;gap:8px;padding:12px 32px;font-size:1.05rem;font-weight:700;display:flex}.btnSecondary:hover{color:var(--color-secondary);background-color:#fff;transform:translateY(-3px)}.factsTickerBar{color:#fff;background:linear-gradient(90deg,#1e1b4b 0%,#312e81 50%,#1e1b4b 100%);align-items:center;gap:20px;padding:16px 4%;display:flex;overflow:hidden}.tickerLabel{background:var(--color-primary);color:#fff;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:5px 12px;font-size:.72rem;font-weight:800;display:flex}.tickerContent{flex:1;align-items:center;gap:12px;animation:.4s ease-out fadeInUp;display:flex;overflow:hidden}.tickerEmoji{flex-shrink:0;font-size:1.5rem}.tickerText{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;line-height:1.4;overflow:hidden}.tickerDots{flex-shrink:0;gap:5px;display:flex}.tickerDot{cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .3s}.tickerDot.active{background:var(--color-primary);transform:scale(1.3)}@media (width<=640px){.tickerDots{display:none}.tickerText{white-space:normal}}.interactiveHubSection{background-color:var(--color-bg-light);padding:80px 4%}.hubGrid{grid-template-columns:1fr;gap:40px;max-width:1200px;margin:0 auto;display:grid}@media (width>=992px){.hubGrid{grid-template-columns:1.3fr 1fr}}.hubCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background-color:#fff;flex-direction:column;padding:30px;display:flex}.hubCard:hover{box-shadow:var(--shadow-md);border-color:#c2410c40}.cardHeader{flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:25px;display:flex}.headerIcon{color:var(--color-primary);width:28px;height:28px}.headerIcon.gold{color:#fbbf24}.cardHeader h3{font-family:var(--font-serif);color:var(--color-secondary);margin:0;font-size:1.5rem}.cardHeader p{width:100%;color:var(--color-text-muted);margin:5px 0 0;font-size:.9rem}.rajasthanMapCanvas{border-radius:var(--radius-md);background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);width:100%;height:380px;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #0006}.mapBackground{opacity:.4;background-image:radial-gradient(#c2410c26 1.5px,#0000 1.5px);background-size:24px 24px;position:absolute;inset:0}.mapPin{color:var(--color-primary);cursor:pointer;z-index:5;transition:all .3s;position:absolute;transform:translate(-50%,-50%)}.pinIcon{filter:drop-shadow(0 2px 5px #00000080)}.mapPin:hover{color:#fff;transform:translate(-50%,-50%)scale(1.2)}.pinPulse{background-color:var(--color-primary);z-index:-1;border-radius:50%;width:16px;height:16px;animation:2s ease-out infinite pinPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pinPulse{0%{opacity:.8;width:10px;height:10px}to{opacity:0;width:45px;height:45px}}.pinLabel{color:#fff;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;background:#1e1b4be6;margin-top:4px;padding:3px 8px;font-size:.72rem;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%)}.mapPopup{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:#fff;z-index:10;background:#1e1b4bf2;width:90%;max-width:280px;padding:16px;animation:.3s ease-out slideUp;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #0006}.mapPopup h4{font-family:var(--font-serif);color:var(--color-primary);margin:0;font-size:1.1rem}.popupTagline{color:#fbbf24;margin:4px 0 8px;font-size:.72rem;font-weight:600;display:block}.mapPopup p{color:#cbd5e1;margin:0 0 10px;font-size:.8rem;line-height:1.4}.popupLink{color:var(--color-primary);font-size:.78rem;font-weight:700}.hubColumn{flex-direction:column;gap:30px;display:flex}.triviaCard{color:#fff;background:linear-gradient(135deg,#7c2d12 0%,#431407 100%);border:none;min-height:180px}.triviaCard .cardHeader h3{color:#fff}.factCounter{border-radius:var(--radius-sm);color:#fca5a5;background:#ffffff26;margin-left:auto;padding:4px 8px;font-size:.72rem;font-weight:600}.triviaContentBox{flex-grow:1;justify-content:center;align-items:center;padding:10px 0;display:flex}.triviaText{text-align:center;color:#ffedd5;margin:0;font-size:1rem;font-style:italic;line-height:1.6}.triviaControls{justify-content:center;gap:8px;margin-top:15px;display:flex}.triviaDot{cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.triviaDot.active{background:var(--color-primary);transform:scale(1.25)}.quizCard{border-left:4px solid var(--color-primary)}.quizQuestion{color:var(--color-secondary);margin-bottom:18px;font-size:.98rem;font-weight:600;line-height:1.5}.quizOptionsList{flex-direction:column;gap:10px;display:flex}.btnQuizOption{border:1px solid var(--color-border);color:var(--color-secondary);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:#fff;padding:11px 16px;font-size:.88rem;font-weight:500}.btnQuizOption:hover{background:var(--color-bg-light);border-color:var(--color-primary);color:var(--color-primary);transform:translate(4px)}.resultBox{border-radius:var(--radius-md);margin-bottom:12px;padding:18px;animation:.4s ease-out fadeInUp}.resultBox.correct{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.resultBox.incorrect{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.resultIcon{margin-bottom:8px}.resultBox h4{margin:0 0 5px;font-size:1rem;font-weight:700}.resultBox p{margin:0;font-size:.83rem;line-height:1.5}.btnQuizReset{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-top:10px;padding:5px 0;font-size:.83rem;font-weight:700;display:flex}.btnQuizReset:hover{color:var(--color-primary-hover);text-decoration:underline}.portalGridSection{background-color:#fff;padding:70px 4% 80px}.portalGridInner{max-width:1200px;margin:0 auto}.sectionHeader{text-align:center;margin-bottom:50px}.sectionHeader h2{font-family:var(--font-serif);color:var(--color-secondary);font-size:clamp(1.8rem,4vw,2.4rem)}.sectionHeader p{color:var(--color-text-muted);margin-top:10px;font-size:1rem}.portalGrid{grid-template-columns:1fr;gap:28px;display:grid}@media (width>=768px){.portalGrid{grid-template-columns:repeat(2,1fr)}}.portalCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background:#fff;flex-direction:column;padding:32px;display:flex}.portalCard:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-5px)}.portalCard.highlightCard{color:#fff;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);border:none}.portalCard.highlightCard .cardIcon{color:var(--color-primary);background:#c2410c33}.portalCard.highlightCard h3{color:#fff}.portalCard.highlightCard p{color:#cbd5e1}.portalCard.highlightCard .cardLink{color:var(--color-primary)}.cardIcon{border-radius:var(--radius-md);background:var(--color-bg-light);width:58px;height:58px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:22px;display:flex}.portalCard h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:10px;font-size:1.35rem}.portalCard p{color:var(--color-text-dark);flex-grow:1;margin-bottom:18px;line-height:1.6}.cardLink{color:var(--color-primary);font-weight:700}.highlightSections{background-color:#fff;padding:0 4% 80px}.highlightInner{max-width:1200px;margin:0 auto}.highlightGrid{grid-template-columns:1fr;gap:28px;display:grid}@media (width>=768px){.highlightGrid{grid-template-columns:repeat(2,1fr)}}.highlightBanner{border-radius:var(--radius-lg);color:#fff;align-items:flex-end;height:300px;padding:32px;display:flex;position:relative;overflow:hidden}.foodBanner{background-image:linear-gradient(#0003,#000000d9),url(https://dt4l9bx31tioh.cloudfront.net/eazymedia/eazytrendz/2787/trend20200401133123.jpg);background-position:50%;background-size:cover}.festivalBanner{background-image:linear-gradient(#0003,#000000d9),url(https://atithicabs.com/wp-content/uploads/2025/02/Festivals-of-Rajasthan.webp);background-position:50%;background-size:cover}.bannerContent{z-index:2;width:100%;position:relative}.bannerIcon{color:var(--color-primary);margin-bottom:12px}.highlightBanner h3{font-family:var(--font-serif);margin-bottom:8px;font-size:1.55rem}.highlightBanner p{color:#e2e8f0;margin-bottom:18px;font-size:.92rem;line-height:1.5}.bannerLink{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:10px 20px;font-size:.84rem;font-weight:700;display:inline-block}.bannerLink:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.culturalSection{background:linear-gradient(135deg,#fafaf9 0%,#fff7ed 100%);padding:80px 4%}.culturalInner{max-width:1200px;margin:0 auto}.culturalGrid{grid-template-columns:1fr;gap:24px;margin-top:0;display:grid}@media (width>=640px){.culturalGrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.culturalGrid{grid-template-columns:repeat(4,1fr)}}.culturalCard{border-radius:var(--radius-lg);border:1px solid var(--color-border);border-top:4px solid var(--card-accent,#c2410c);transition:all var(--transition-normal);background:#fff;flex-direction:column;gap:10px;padding:28px 24px;display:flex;box-shadow:0 2px 12px #0000000f}.culturalCard:hover{transform:translateY(-6px);box-shadow:0 12px 28px #0000001f}.culturalIconBox{border-radius:var(--radius-md);justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;display:flex}.culturalBadge{color:#fff;text-transform:uppercase;letter-spacing:.8px;border-radius:20px;align-self:flex-start;padding:3px 10px;font-size:.65rem;font-weight:800;display:inline-block}.culturalCard h4{font-family:var(--font-serif);color:var(--color-secondary);margin:0;font-size:1.18rem;font-weight:700}.culturalSubtitle{color:var(--card-accent,#c2410c);letter-spacing:.3px;margin:0;font-size:.78rem;font-weight:600}.culturalDesc{color:var(--color-text-muted);flex-grow:1;margin:0;font-size:.87rem;line-height:1.6}.festivalsSection{border-top:1px solid var(--color-border);background:#fff;padding:80px 4%}.festivalsInner{max-width:1200px;margin:0 auto}.homeFestivalsHeader h2{color:var(--color-secondary)}.homeFestivalsHeader p{color:var(--color-text-muted)}.festivalsGrid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=640px){.festivalsGrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.festivalsGrid{grid-template-columns:repeat(3,1fr)}}.festivalCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal) ease;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;display:flex;overflow:hidden}.festivalCard:hover{border-color:var(--fest-color,#c2410c);box-shadow:var(--shadow-lg);background:#fff;transform:translateY(-6px)}.festivalCardImage{background-position:50%;background-size:cover;height:185px;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.festivalCard:hover .festivalCardImage{transform:scale(1.03)}.festMonthBadge{color:#fff;text-transform:uppercase;letter-spacing:1.5px;border-radius:var(--radius-sm);z-index:2;padding:5px 12px;font-size:.65rem;font-weight:800;position:absolute;top:12px;left:12px;box-shadow:0 4px 10px #0000004d}.festCardBody{flex-direction:column;flex:1;gap:8px;padding:22px 24px;display:flex}.festCardBody h4{font-family:var(--font-serif);color:var(--color-secondary);margin:0;font-size:1.25rem;font-weight:700}.festCity{color:var(--color-text-muted);align-items:center;gap:5px;margin:0;font-size:.78rem;font-weight:500;display:flex}.festDesc{color:var(--color-text-muted);flex-grow:1;margin:4px 0 10px;font-size:.88rem;line-height:1.6}.festTags{flex-wrap:wrap;gap:7px;display:flex}.festTag{letter-spacing:.3px;border:1px solid;border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:700}.festExploreLink{transition:all var(--transition-fast) ease;align-items:center;gap:4px;margin-top:auto;padding-top:14px;font-size:.82rem;font-weight:700;display:flex}.festivalCard:hover .festExploreLink{text-shadow:0 0 10px;transform:translate(5px)}.chatCallout{color:#fff;text-align:center;background:linear-gradient(135deg,#7c2d12 0%,#9a3412 100%);padding:70px 20px}.chatCalloutContent{max-width:650px;margin:0 auto}.chatCalloutContent h2{font-family:var(--font-serif);margin-bottom:15px;font-size:clamp(1.6rem,3vw,2rem)}.chatCalloutContent p{color:#ffedd5;margin-bottom:30px;line-height:1.6}.btnChat{color:var(--color-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#fff;padding:13px 32px;font-size:1rem;font-weight:700;display:inline-block}.btnChat:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow);transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.citiesPage{background-color:var(--color-bg-light);min-height:100vh}.citiesHeader{color:#fff;text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#7c2d12 100%);padding:80px 4% 60px}.citiesHeader h1{font-family:var(--font-serif);color:#fafaf9;margin-bottom:15px;font-size:3rem}.citiesHeader p{color:#e2e8f0;max-width:650px;margin:0 auto 30px;font-size:1.1rem;line-height:1.6}.searchBoxContainer{border-radius:var(--radius-md);max-width:600px;box-shadow:var(--shadow-md);background-color:#fff;align-items:center;margin:0 auto;padding:5px 20px;display:flex}.searchIcon{color:var(--color-text-muted);margin-right:12px}.searchBoxContainer input{width:100%;color:var(--color-text-dark);border:none;padding:12px 5px;font-size:1rem}.searchBoxContainer input:focus{outline:none}.citiesGridSection{max-width:1200px;margin:0 auto;padding:60px 4%}.citiesGrid{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.citiesGrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.citiesGrid{grid-template-columns:repeat(3,1fr)}}.cityCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background-color:#fff;flex-direction:column;display:flex;overflow:hidden}.cityCard:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.cityCardImage{background-position:50%;background-size:cover;height:200px;position:relative}.cityCardOverlay{background:linear-gradient(#0000 0%,#000000b3 100%);position:absolute;inset:0}.cityCardTagline{color:var(--color-primary);text-transform:uppercase;letter-spacing:2px;z-index:2;font-size:.85rem;font-weight:700;position:absolute;bottom:15px;left:20px}.cityCardBody{flex-direction:column;flex-grow:1;padding:25px;display:flex}.cityCardBody h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:10px;font-size:1.5rem}.cityDesc{color:var(--color-text-dark);flex-grow:1;margin-bottom:20px;font-size:.92rem;line-height:1.5}.cityCardMeta{border-top:1px dashed var(--color-border);margin-bottom:20px;padding-top:15px}.bestSeason{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.bestSeason strong{color:var(--color-secondary)}.btnCityExplore{background-color:var(--color-secondary);color:#fff;text-align:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:12px;font-weight:700}.btnCityExplore:hover{background-color:var(--color-primary);box-shadow:var(--shadow-glow)}.loadingContainer{text-align:center;color:var(--color-text-muted);padding:100px 20px}.noResults{text-align:center;color:var(--color-text-muted);padding:60px 20px}.cityDetailPage{background-color:var(--color-bg-light);min-height:100vh}.cityBanner{color:#fff;background-position:50%;background-size:cover;align-items:center;height:50vh;min-height:350px;padding:0 6%;display:flex;position:relative}.bannerOverlay{z-index:1;background:linear-gradient(90deg,#1e1b4bcc 0%,#7c2d1266 100%);position:absolute;inset:0}.bannerContent{z-index:2;max-width:650px;position:relative}.bannerSubtitle{text-transform:uppercase;color:var(--color-primary);letter-spacing:3px;margin-bottom:10px;font-size:.85rem;font-weight:700;display:block}.cityBanner h1{font-family:var(--font-serif);margin:0;font-size:3.5rem}.bannerDivider{background-color:var(--color-primary);width:80px;height:3px;margin:15px 0}.bestVisitTime{color:#e2e8f0;align-items:center;gap:8px;font-size:1.05rem;display:flex}.tabsBarContainer{border-bottom:1px solid var(--color-border);z-index:10;background-color:#fff;position:sticky;top:79px}.tabsBar{scrollbar-width:none;gap:20px;max-width:1200px;margin:0 auto;padding:0 4%;display:flex;overflow-x:auto}.tabsBar::-webkit-scrollbar{display:none}.tabBtn{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;padding:20px 10px;font-size:.95rem;font-weight:700}.tabBtn:hover{color:var(--color-primary)}.tabBtn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabContentPanel{max-width:1200px;margin:0 auto;padding:40px 4% 80px}.panelOverview{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=768px){.panelOverview{grid-template-columns:2fr 1fr}}.overviewLeft h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:20px;font-size:1.8rem}.cityDescriptionLarge{color:var(--color-text-dark);margin-bottom:35px;font-size:1.1rem;line-height:1.7}.weatherCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.weatherCard h4{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:20px;font-size:1.15rem}.weatherGrid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.weatherItem{text-align:center;border-right:1px solid var(--color-border);padding:5px}.weatherItem:last-child{border-right:none}.weatherItem span{color:var(--color-text-muted);text-transform:uppercase;margin-bottom:6px;font-size:.8rem;display:block}.weatherItem strong{color:var(--color-secondary);font-size:1rem}.transportCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.transportCard h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:20px;font-size:1.3rem}.transportItem{margin-bottom:18px}.transportItem:last-child{margin-bottom:0}.transportType{color:var(--color-primary);background-color:#f973161a;border-radius:4px;margin-bottom:6px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.transportItem p{color:var(--color-text-dark);font-size:.88rem;line-height:1.5}.placesDisplayGrid{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.placesDisplayGrid{grid-template-columns:repeat(2,1fr)}}.placeItemCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;flex-direction:column;display:flex;overflow:hidden}.placeCardImg{background-position:50%;background-size:cover;height:220px;position:relative}.placeCategoryBadge{background-color:var(--color-secondary);color:#fff;text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:15px;right:15px}.placeCardDetails{flex-direction:column;flex-grow:1;padding:25px;display:flex}.ratingHeader{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;display:flex}.ratingHeader h3{font-family:var(--font-serif);color:var(--color-secondary);margin:0;font-size:1.3rem}.ratingLabel{color:#f59e0b;align-items:center;gap:4px;font-size:.9rem;font-weight:700;display:flex}.placeCardDesc{color:var(--color-text-dark);flex-grow:1;margin-bottom:20px;font-size:.9rem;line-height:1.5}.placeMetaDetails{border-top:1px dashed var(--color-border);color:var(--color-text-muted);flex-direction:column;gap:6px;margin-bottom:20px;padding:15px 0;font-size:.85rem;display:flex}.placeMetaDetails strong{color:var(--color-secondary)}.btnExplorePlace{background-color:var(--color-primary);color:#fff;text-align:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:12px;font-weight:700}.btnExplorePlace:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.guidesGrid{grid-template-columns:1fr;gap:25px;display:grid}@media (width>=768px){.guidesGrid{grid-template-columns:repeat(2,1fr)}}.listingCompactCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.badgeRow{align-items:center;gap:10px;margin-bottom:12px;display:flex}.listCat{background-color:var(--color-secondary);color:#fff;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700}.verifiedBadge{color:#10b981;align-items:center;gap:3px;font-size:.8rem;font-weight:700;display:flex}.listingCompactCard h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:4px;font-size:1.25rem}.listSubcat{color:var(--color-primary);text-transform:uppercase;margin-bottom:15px;font-size:.8rem;font-weight:700}.listDesc{color:var(--color-text-dark);margin-bottom:15px;font-size:.9rem;line-height:1.5}.listPrice{color:var(--color-secondary);margin-bottom:15px;font-size:.95rem;font-weight:700}.listingContact{border-top:1px dashed var(--color-border);color:var(--color-text-muted);flex-direction:column;gap:6px;padding-top:12px;font-size:.85rem;display:flex}.emergencyAlertCard{border-radius:var(--radius-md);background-color:#ef444414;border:1px solid #f87171;align-items:flex-start;gap:15px;margin-bottom:30px;padding:20px;display:flex}.alertIcon{color:#ef4444;flex-shrink:0}.emergencyAlertCard h3{color:#991b1b;margin-bottom:4px;font-size:1.1rem}.emergencyAlertCard p{color:#7f1d1d;font-size:.9rem}.contactsContainer{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.contactsContainer{grid-template-columns:1fr 1fr}}.contactListCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.contactListCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:10px;font-size:1.25rem}.contactRow{border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.contactRow:last-child{border-bottom:none}.contactRow span{color:var(--color-text-dark);font-size:.9rem}.contactRow strong{color:#ef4444;font-size:.95rem}.contactRole{font-weight:700}.cityLoadingPage{text-align:center;color:var(--color-text-muted);padding:120px 20px}.cityLoadingPage .spinner{color:var(--color-primary);margin-bottom:15px;animation:3s linear infinite spin}.cityNotFound{text-align:center;padding:100px 20px}.btnBack{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);margin-top:15px;padding:10px 20px;font-weight:700;display:inline-block}.cityConnectionsSection{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:#fff;grid-column:1/-1;margin-top:40px;padding:30px}.connectionsTitle{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:2px solid var(--color-primary);margin-bottom:20px;padding-bottom:8px;font-size:1.4rem;display:inline-block}.connectionsGrid{grid-template-columns:1fr;gap:25px;display:grid}@media (width>=768px){.connectionsGrid{grid-template-columns:repeat(3,1fr)}}.connectionBlock h4{text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px dashed var(--color-border);margin-bottom:12px;padding-bottom:6px;font-size:.9rem;font-weight:700}.connectionLinks{flex-direction:column;gap:8px;display:flex}.connectionLink{color:var(--color-primary);transition:all var(--transition-fast);font-size:.95rem;font-weight:600;display:block}.connectionLink:hover{color:var(--color-primary-hover);padding-left:2px;text-decoration:underline}.placeDetailPage{background-color:var(--color-bg-light);min-height:100vh}.placeHeader{border-bottom:1px solid var(--color-border);background-color:#fff;padding:30px 4%}.headerLeft{max-width:1200px;margin:0 auto}.cityBreadcrumb{color:var(--color-primary);margin-bottom:12px;font-size:.9rem;font-weight:700;display:inline-block}.placeHeader h1{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:10px;font-size:2.2rem}.categoryTag{background-color:var(--color-secondary);color:#fff;text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:700}.placeGallerySection{max-width:1200px;margin:0 auto;padding:30px 4% 0}.galleryGrid{grid-template-columns:1fr;gap:15px;height:400px;display:grid}@media (width>=768px){.galleryGrid{grid-template-columns:2fr 1fr}}.galleryItem{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-position:50%;background-size:cover}.mainFeaturedImg{grid-row:span 1}@media (width>=768px){.mainFeaturedImg{grid-row:span 2}}.placeContentSection{max-width:1200px;margin:0 auto;padding:45px 4% 80px}.contentGrid{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=992px){.contentGrid{grid-template-columns:2fr 1.2fr}}.overviewText,.historyText{color:var(--color-text-dark);font-size:1rem;line-height:1.7}.guidelinesGrid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=576px){.guidelinesGrid{grid-template-columns:repeat(2,1fr)}}.guideCard{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.guideCard h4{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:8px;font-size:1rem}.guideCard p{color:var(--color-text-dark);font-size:.88rem;line-height:1.5}.dangerCard{background-color:#ef44440a;border-color:#ef444433}.dangerCard h4{color:#b91c1c}.tipsCard{background-color:#10b9810a;border-color:#10b98133}.tipsCard h4{color:#047857}.faqList{flex-direction:column;gap:20px;display:flex}.faqItem{background-color:var(--color-bg-light);border-left:4px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:15px 20px}.faqItem h4{color:var(--color-secondary);margin-bottom:6px;font-size:.95rem}.faqItem p{color:var(--color-text-dark);font-size:.9rem;line-height:1.5}.quickInfoCard{color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);padding:30px}.quickInfoCard h3{font-family:var(--font-serif);color:#fff;border-bottom:1px solid #ffffff26;margin-bottom:25px;padding-bottom:12px;font-size:1.3rem}.parameterRow{align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.parameterRow:last-child{margin-bottom:0}.paramIcon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.parameterRow span{color:#cbd5e1;text-transform:uppercase;letter-spacing:1px;font-size:.72rem;display:block}.parameterRow strong{color:#fff;margin-top:2px;font-size:.95rem;line-height:1.4;display:block}.reviewsBlockCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:30px}.reviewsBlockCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:10px;font-size:1.3rem}.reviewSubmitForm{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:25px;padding:20px}.reviewSubmitForm h4{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:12px;font-size:1rem}.reviewSuccessMsg{color:#047857;background-color:#10b9811a;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:.82rem;font-weight:600}.reviewSubmitForm .formRow{grid-template-columns:1.5fr 1fr;gap:10px;margin-bottom:10px;display:grid}.reviewSubmitForm input,.reviewSubmitForm select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#fff;padding:8px 12px;font-size:.85rem}.reviewSubmitForm textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;height:80px;margin-bottom:10px;padding:10px;font-size:.85rem}.btnSubmitReview{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.85rem;font-weight:700;display:flex}.btnSubmitReview:hover{background-color:var(--color-primary-hover)}.reviewsList{flex-direction:column;gap:15px;max-height:400px;padding-right:5px;display:flex;overflow-y:auto}.reviewItemCard{border-bottom:1px solid var(--color-border);padding-bottom:12px}.reviewItemCard:last-child{border-bottom:none;padding-bottom:0}.reviewHeader{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.reviewHeader strong{color:var(--color-secondary);font-size:.9rem}.revRating{color:#f59e0b;font-size:.82rem;font-weight:700}.revComment{color:var(--color-text-dark);margin-bottom:5px;font-size:.88rem;line-height:1.4}.revDate{color:var(--color-text-muted);font-size:.72rem}.noReviewsYet{text-align:center;color:var(--color-text-muted);padding:20px;font-size:.85rem}.placeLoadingPage{text-align:center;color:var(--color-text-muted);padding:120px 20px}.placeLoadingPage .spinner{color:var(--color-primary);margin-bottom:15px;animation:3s linear infinite spin}.placeNotFound{text-align:center;padding:100px 20px}.placeConnectionsCard{margin-top:30px}.connectionsIntro{color:var(--color-text-muted);margin-bottom:20px;font-size:.95rem}.connectionsList{flex-direction:column;gap:15px;display:flex}.connectionItemRow{border-bottom:1px dashed var(--color-border);flex-direction:column;gap:6px;padding-bottom:12px;display:flex}@media (width>=576px){.connectionItemRow{flex-direction:row;align-items:center}}.connectionItemRow:last-child{border-bottom:none;padding-bottom:0}.connectionLabel{text-transform:uppercase;color:var(--color-secondary);min-width:200px;font-size:.85rem;font-weight:700}.connectionVal{flex-wrap:wrap;gap:12px;display:flex}.connectionLink{background-color:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:6px 12px;font-size:.88rem;font-weight:600}.connectionLink:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.foodDetailPage{background-color:var(--color-bg-light);min-height:100vh}.foodHeader{border-bottom:1px solid var(--color-border);background-color:#fff;padding:30px 4%}.foodHeader h1{font-family:var(--font-serif);color:var(--color-secondary);font-size:2.2rem}.originLabel{color:var(--color-text-muted);margin-top:5px;font-size:.9rem}.foodBodySection{max-width:1200px;margin:0 auto;padding:40px 4% 80px}.foodGrid{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=992px){.foodGrid{grid-template-columns:2.2fr 1.2fr}}.foodHeroImg{border-radius:var(--radius-lg);height:350px;box-shadow:var(--shadow-sm);background-position:50%;background-size:cover;margin-bottom:30px}.historyText{color:var(--color-text-dark);font-size:.95rem;line-height:1.6}.recipeBlock{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.recipeBlock{grid-template-columns:1fr 1.5fr}}.ingredientsCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:30px}.ingredientsCard h3,.instructionsCard h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:20px;font-size:1.25rem}.ingredientsCard ul{padding-left:0;list-style-type:none}.ingredientsCard li{border-bottom:1px solid var(--color-bg-light);color:var(--color-text-dark);padding:8px 0;font-size:.9rem}.ingredientsCard li:before{content:"•";color:var(--color-primary);width:15px;font-weight:700;display:inline-block}.instructionsCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:30px}.instructionsCard ol{padding-left:20px}.instructionsCard li{color:var(--color-text-dark);padding-bottom:12px;font-size:.9rem;line-height:1.6}.nutritionalCard{color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#7c2d12 0%,#9a3412 100%);padding:25px}.nutritionalCard h3{font-family:var(--font-serif);border-bottom:1px solid #fff3;margin-bottom:15px;padding-bottom:8px;font-size:1.2rem}.nutritionalCard p{color:#ffedd5;font-size:.9rem;line-height:1.5}.festivalsServed{border-top:1px solid #ffffff26;margin-top:20px;padding-top:15px}.festivalsServed strong{color:#cbd5e1;text-transform:uppercase;margin-bottom:8px;font-size:.8rem;display:block}.badgeList{flex-wrap:wrap;gap:8px;display:flex}.festBadge{background-color:#ffffff26;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:700}.restaurantsCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.restaurantsCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:8px;font-size:1.2rem}.restItem{margin-bottom:15px}.restItem:last-child{margin-bottom:0}.restItem h4{color:var(--color-secondary);margin-bottom:2px;font-size:.95rem}.restItem p{color:var(--color-text-muted);font-size:.82rem}.reviewsCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.reviewsCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:8px;font-size:1.2rem}.foodReviewForm{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:20px;padding:15px}.successAlert{color:#047857;background-color:#10b9811a;border-radius:4px;margin-bottom:10px;padding:6px;font-size:.75rem;font-weight:600}.foodReviewForm .formRow{grid-template-columns:1.5fr 1fr;gap:8px;margin-bottom:8px;display:grid}.foodReviewForm input,.foodReviewForm select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#fff;padding:6px;font-size:.8rem}.foodReviewForm textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;height:60px;margin-bottom:8px;padding:8px;font-size:.8rem}.btnSubmit{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:4px;width:100%;padding:8px;font-size:.8rem;font-weight:700;display:flex}.foodReviewsList{max-height:250px;overflow-y:auto}.foodRevCard{border-bottom:1px solid var(--color-border);padding:10px 0}.foodRevCard:last-child{border-bottom:none}.revHeader{justify-content:space-between;margin-bottom:4px;font-size:.85rem;display:flex}.revHeader strong{color:var(--color-secondary)}.revHeader span{color:#f59e0b;font-weight:700}.foodRevCard p{color:var(--color-text-dark);font-size:.82rem;line-height:1.4}.noReviews{text-align:center;color:var(--color-text-muted);font-size:.8rem}.foodLoading{text-align:center;padding:120px 20px}.foodLoading .spinner{color:var(--color-primary);margin-bottom:15px;animation:3s linear infinite spin}.foodNotFound{text-align:center;padding:100px 20px}.foodConnectionsCard{margin-top:30px}.foodConnectionsLinks{flex-direction:column;gap:15px;margin-top:15px;display:flex}.foodConnRow{border-bottom:1px dashed var(--color-border);flex-direction:column;gap:6px;padding-bottom:12px;display:flex}@media (width>=576px){.foodConnRow{flex-direction:row;align-items:center}}.foodConnRow:last-child{border-bottom:none;padding-bottom:0}.foodConnLabel{text-transform:uppercase;color:var(--color-secondary);min-width:220px;font-size:.85rem;font-weight:700}.foodConnList{flex-wrap:wrap;gap:10px;display:flex}.foodConnLink{background-color:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:6px 12px;font-size:.88rem;font-weight:600}.foodConnLink:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.foodsPage{max-width:1280px;color:var(--color-text-dark);margin:0 auto;padding:2rem 1.5rem 5rem}.foodsHeader{text-align:center;animation:fadeIn var(--transition-slow) ease-out;margin-bottom:3.5rem}.foodsHeader h1{font-family:var(--font-serif);color:var(--color-secondary);letter-spacing:-.5px;margin-bottom:1rem;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800}.foodsHeader p{color:var(--color-text-muted);max-width:700px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.6}.foodsGridSection{min-height:350px;position:relative}.foodsGrid{animation:fadeInUp var(--transition-normal) ease-out;grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=640px){.foodsGrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.foodsGrid{grid-template-columns:repeat(3,1fr)}}.foodListCard{border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-normal) ease;background:#fff;flex-direction:column;display:flex;overflow:hidden}.foodListCard:hover{box-shadow:var(--shadow-lg);border-color:#c2410c33;transform:translateY(-6px)}.foodCardImage{background-position:50%;background-size:cover;height:220px;position:relative}.foodCardOverlay{background:linear-gradient(#0000 50%,#0009 100%);position:absolute;inset:0}.foodCardPrice{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);z-index:2;padding:.4rem .8rem;font-size:.8rem;font-weight:700;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 10px #c2410c4d}.foodCardBody{flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.foodCardBody h2{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:.5rem;font-size:1.35rem;font-weight:700}.foodOrigin{color:var(--color-primary);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.88rem;font-weight:600;display:flex}.foodDesc{color:var(--color-text-muted);flex-grow:1;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.btnFoodExplore{text-align:center;background:var(--color-secondary);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast) ease;padding:.8rem;font-weight:600;text-decoration:none;display:block;box-shadow:0 2px 8px #0f172a26}.btnFoodExplore:hover{background:var(--color-secondary-hover);transform:translateY(-2px);box-shadow:0 6px 15px #0f172a59}.festivalPage{background-color:var(--color-bg-light);min-height:100vh}.festivalHeader{color:#fff;text-align:center;background:linear-gradient(135deg,#7c2d12 0%,#1e1b4b 100%);padding:40px 4%}.headerContent{max-width:800px;margin:0 auto}.homeBreadcrumb{color:var(--color-primary);margin-bottom:15px;font-size:.9rem;font-weight:700;display:inline-block}.festivalHeader h1{font-family:var(--font-serif);color:#fff;font-size:2.5rem}.headerMeta{color:#cbd5e1;justify-content:center;gap:20px;margin-top:15px;font-size:.95rem;font-weight:600;display:flex}.festivalBody{max-width:1200px;margin:0 auto;padding:40px 4% 80px}.festivalGrid{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=992px){.festivalGrid{grid-template-columns:2fr 1.1fr}}.festHeroImage{border-radius:var(--radius-lg);height:350px;box-shadow:var(--shadow-sm);background-position:50%;background-size:cover;margin-bottom:30px}.cardBlock{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;margin-bottom:30px;padding:30px}.cardBlock h2{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:2px solid var(--color-border);margin-bottom:15px;padding-bottom:8px;font-size:1.4rem}.cardBlock p{color:var(--color-text-dark);font-size:.95rem;line-height:1.6}.stickySidebar{flex-direction:column;gap:30px;display:flex;position:sticky;top:99px}.travelGuideCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:30px}.travelGuideCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:10px;font-size:1.25rem}.guideParam{margin-bottom:20px}.guideParam:last-child{margin-bottom:0}.guideParam strong{color:var(--color-primary);text-transform:uppercase;margin-bottom:6px;font-size:.82rem;display:block}.guideParam p{color:var(--color-text-dark);font-size:.88rem;line-height:1.4}.tipParam{background-color:#10b9810d;border-left:3px solid #10b981;border-radius:0 4px 4px 0;padding:10px 15px}.foodBadgeList{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.foodBadge{background-color:var(--color-bg-light);color:var(--color-secondary);border:1px solid var(--color-border);border-radius:4px;padding:3px 8px;font-size:.78rem;font-weight:700}.festLoading{text-align:center;padding:120px 20px}.festLoading .spinner{color:var(--color-primary);margin-bottom:15px;animation:3s linear infinite spin}.festNotFound{text-align:center;padding:100px 20px}.btnHome{background-color:var(--color-primary);color:#fff;border-radius:4px;margin-top:15px;padding:10px 20px;display:inline-block}.festivalConnectionsCard{margin-top:30px}.festivalConnectionsLinks{flex-direction:column;gap:15px;margin-top:15px;display:flex}.festConnRow{border-bottom:1px dashed var(--color-border);flex-direction:column;gap:6px;padding-bottom:12px;display:flex}@media (width>=576px){.festConnRow{flex-direction:row;align-items:center}}.festConnRow:last-child{border-bottom:none;padding-bottom:0}.festConnLabel{text-transform:uppercase;color:var(--color-secondary);min-width:220px;font-size:.85rem;font-weight:700}.festConnList{flex-wrap:wrap;gap:10px;display:flex}.festConnLink{background-color:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:6px 12px;font-size:.88rem;font-weight:600}.festConnLink:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.festivalsPage{max-width:1280px;color:var(--color-text-dark);margin:0 auto;padding:2rem 1.5rem 5rem}.festivalsHeader{text-align:center;animation:fadeIn var(--transition-slow) ease-out;margin-bottom:3.5rem}.festivalsHeader h1{font-family:var(--font-serif);color:var(--color-secondary);letter-spacing:-.5px;margin-bottom:1rem;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800}.festivalsHeader p{color:var(--color-text-muted);max-width:700px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.6}.searchBoxContainer{max-width:600px;box-shadow:var(--shadow-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all var(--transition-fast) ease;margin:0 auto;position:relative;overflow:hidden}.searchBoxContainer:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.searchIcon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.searchBoxContainer input{width:100%;color:var(--color-text-dark);background-color:#fff;border:none;outline:none;padding:1.1rem 1.5rem 1.1rem 3.5rem;font-size:1rem}.searchBoxContainer input::placeholder{color:#94a3b8}.festivalsGridSection{min-height:350px;position:relative}.loadingContainer{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;padding:5rem 0;display:flex}.loadingSpinner{color:var(--color-primary);margin-bottom:1rem;animation:3s linear infinite spin}.festivalsGrid{animation:fadeInUp var(--transition-normal) ease-out;grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=640px){.festivalsGrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.festivalsGrid{grid-template-columns:repeat(3,1fr)}}.festListCard{border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-normal) ease;background:#fff;flex-direction:column;display:flex;overflow:hidden}.festListCard:hover{box-shadow:var(--shadow-lg);border-color:#c2410c33;transform:translateY(-6px)}.festCardImage{background-position:50%;background-size:cover;height:220px;position:relative}.festCardOverlay{background:linear-gradient(#0000 50%,#0009 100%);position:absolute;inset:0}.festCardDate{background:var(--color-secondary);color:#fff;border-radius:var(--radius-sm);z-index:2;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 10px #0f172a4d}.festCardBody{flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.festCardBody h2{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:.5rem;font-size:1.35rem;font-weight:700}.festLocation{color:var(--color-primary);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.88rem;font-weight:600;display:flex}.festDesc{color:var(--color-text-muted);flex-grow:1;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.btnFestExplore{text-align:center;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast) ease;padding:.8rem;font-weight:600;text-decoration:none;display:block;box-shadow:0 2px 8px #c2410c26}.btnFestExplore:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 15px #c2410c59}.noResults{text-align:center;color:var(--color-text-muted);background:var(--color-bg-light);border-radius:var(--radius-lg);border:1px dashed var(--color-border);padding:4rem 1.5rem}.noResults p{max-width:500px;margin:0 auto;font-size:1.05rem}.culturePage{background-color:var(--color-bg-light);min-height:100vh}.cultureHeader{color:#fff;text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#7c2d12 100%);padding:60px 4% 50px}.cultureHeader h1{font-family:var(--font-serif);color:#fafaf9;margin-bottom:12px;font-size:2.8rem}.cultureHeader p{color:#d1d5db;max-width:750px;margin:0 auto;font-size:1.1rem;line-height:1.6}.cultureTabsBar{border-bottom:1px solid var(--color-border);z-index:10;scrollbar-width:none;background-color:#fff;justify-content:center;gap:30px;padding:0 20px;display:flex;position:sticky;top:79px;overflow-x:auto}.cultureTabsBar::-webkit-scrollbar{display:none}.cultureTabsBar .tabBtn{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;padding:20px 15px;font-size:1rem;font-weight:700}.cultureTabsBar .tabBtn:hover{color:var(--color-primary)}.cultureTabsBar .tabBtn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cultureMainContent{max-width:1200px;margin:0 auto;padding:40px 4% 80px}.introNotes{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;background-color:#fff;max-width:900px;margin-bottom:40px;margin-left:auto;margin-right:auto;padding:30px}.introNotes h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:12px;font-size:1.5rem}.introNotes p{color:var(--color-text-dark);font-size:1rem;line-height:1.6}.rulersGrid{flex-direction:column;gap:40px;display:flex}.rulerCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;grid-template-columns:1fr;gap:20px;display:grid;overflow:hidden}@media (width>=768px){.rulerCard{grid-template-columns:1.2fr 2fr}}.rulerImg{background-position:50%;background-size:cover;min-height:300px}.rulerInfo{flex-direction:column;gap:15px;padding:30px;display:flex}.reignTag{color:var(--color-primary);background-color:#f973161a;border-radius:4px;align-self:flex-start;padding:4px 12px;font-size:.8rem;font-weight:700}.rulerInfo h3{font-family:var(--font-serif);color:var(--color-secondary);margin:0;font-size:1.8rem}.dynastyLabel{color:var(--color-text-muted);font-size:.9rem}.dynastyLabel strong{color:var(--color-secondary)}.rulerBio{color:var(--color-text-dark);font-size:.95rem;line-height:1.6}.achievementsBlock h4,.battlesBlock h4{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:8px;padding-bottom:4px;font-size:1.1rem}.achievementsBlock ul{padding-left:20px}.achievementsBlock li{color:var(--color-text-dark);padding-bottom:4px;font-size:.88rem;line-height:1.5}.battleRow{background-color:var(--color-bg-light);border-radius:var(--radius-sm);margin-bottom:8px;padding:12px 15px}.battleRow:last-child{margin-bottom:0}.battleRow strong{color:var(--color-primary);margin-bottom:3px;font-size:.9rem;display:block}.battleRow p{color:var(--color-text-dark);margin:0;font-size:.82rem;line-height:1.4}.artsGrid{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.artsGrid{grid-template-columns:repeat(2,1fr)}}.artCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;flex-direction:column;display:flex;overflow:hidden}.artImg{background-position:50%;background-size:cover;height:250px}.artInfo{flex-direction:column;flex-grow:1;padding:25px;display:flex}.artInfo h3{font-family:var(--font-serif);color:var(--color-secondary);margin-top:10px;margin-bottom:10px;font-size:1.4rem}.artDesc{color:var(--color-text-dark);flex-grow:1;margin-bottom:20px;font-size:.9rem;line-height:1.5}.detailsBlock{border-top:1px dashed var(--color-border);flex-direction:column;gap:8px;padding-top:15px;display:flex}.detailsRow{justify-content:space-between;font-size:.85rem;display:flex}.detailsRow strong{color:var(--color-secondary)}.valText{color:var(--color-text-muted);text-align:right;max-width:60%}.etiquetteGrid{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.etiquetteGrid{grid-template-columns:repeat(2,1fr)}}.infoBlockCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:30px}.infoBlockCard.fullWidthBlock{grid-column:span 1}@media (width>=768px){.infoBlockCard.fullWidthBlock{grid-column:span 2}}.infoBlockCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:2px solid var(--color-border);margin-bottom:15px;padding-bottom:8px;font-size:1.4rem}.infoBlockCard p{color:var(--color-text-dark);font-size:.95rem;line-height:1.6}.guidelinePoints,.circuitList{flex-direction:column;gap:20px;margin-top:25px;display:flex}.pointRow,.circuitRow{background-color:var(--color-bg-light);border-left:4px solid var(--color-primary);border-radius:0 4px 4px 0;padding:12px 18px}.pointRow strong,.circuitRow h4{color:var(--color-secondary);margin-bottom:5px;font-size:.95rem;display:block}.pointRow p,.circuitRow p{color:var(--color-text-dark);margin:0;font-size:.85rem;line-height:1.4}.weddingGrid{grid-template-columns:1fr;gap:20px;margin-top:25px;display:grid}@media (width>=768px){.weddingGrid{grid-template-columns:repeat(3,1fr)}}.weddingVenue{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:15px}.weddingVenue strong{color:var(--color-primary);margin-bottom:6px;font-size:.9rem;display:block}.weddingVenue p{color:var(--color-text-dark);margin:0;font-size:.82rem;line-height:1.4}.cultureLoading{text-align:center;color:var(--color-text-muted);padding:100px 20px}.cultureLoading .spinner{color:var(--color-primary);margin-bottom:15px;animation:3s linear infinite spin}.connectedEntitiesBlock{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:12px;margin-top:20px;padding:15px;display:flex}.connectedSubRow{flex-direction:column;gap:6px;display:flex}@media (width>=576px){.connectedSubRow{flex-direction:row;align-items:center}}.connectedSubRow span{color:var(--color-secondary);text-transform:uppercase;min-width:130px;font-size:.78rem;font-weight:700}.entityLinks{flex-wrap:wrap;gap:8px;display:flex}.entityTagLink{border:1px solid var(--color-border);color:var(--color-primary);transition:all var(--transition-fast);background-color:#fff;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600}.entityTagLink:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.plannerPage{background-color:var(--color-bg-light);min-height:100vh}.plannerHeader{color:#fff;text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#7c2d12 100%);padding:60px 4% 50px}.headerIcon{color:var(--color-primary);margin-bottom:12px}.plannerHeader h1{font-family:var(--font-serif);margin-bottom:15px;font-size:2.8rem}.plannerHeader p{color:#d1d5db;max-width:700px;margin:0 auto;font-size:1.1rem;line-height:1.6}.plannerBody{max-width:1200px;margin:0 auto;padding:40px 4% 80px}.plannerGrid{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=992px){.plannerGrid{grid-template-columns:1fr 1.8fr}}.wizardCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;margin-bottom:30px;padding:30px}.wizardForm{flex-direction:column;gap:20px;display:flex}.formGroup label{color:var(--color-secondary);text-transform:uppercase;align-items:center;gap:5px;font-size:.85rem;font-weight:700;display:flex}.wizardForm select,.wizardForm input{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-dark);padding:12px;font-size:.95rem}.checkboxGrid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.interestSelectBtn{background-color:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:10px;font-size:.85rem;font-weight:600}.interestSelectBtn:hover{border-color:var(--color-primary);color:var(--color-primary)}.interestSelectBtn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btnGenerate{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:14px;font-size:1rem;font-weight:700;display:flex}.btnGenerate:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.spinnerIcon{animation:1s linear infinite spin}.savedPlansCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:25px}.savedPlansCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);margin-bottom:15px;padding-bottom:8px;font-size:1.2rem}.savedList{flex-direction:column;gap:10px;max-height:250px;display:flex;overflow-y:auto}.savedPlanItem{background-color:var(--color-bg-light);border-radius:var(--radius-sm);border-left:3px solid var(--color-secondary);transition:all var(--transition-fast);padding:12px 15px}.savedPlanItem:hover{border-left-color:var(--color-primary);background-color:#f1f5f9}.savedPlanItem h4{color:var(--color-secondary);margin-bottom:4px;font-size:.9rem}.savedPlanItem p{color:var(--color-text-muted);font-size:.75rem}.itineraryDisplay{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:35px}.itineraryHeader{border-bottom:1px solid var(--color-border);flex-direction:column;gap:10px;margin-bottom:30px;padding-bottom:25px;display:flex}.itineraryHeader h2{font-family:var(--font-serif);color:var(--color-secondary);font-size:1.8rem}.itineraryHeader p{color:var(--color-text-muted);font-size:.95rem}.itineraryHeader strong{color:var(--color-secondary)}.btnSavePlan{background-color:var(--color-secondary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;align-self:flex-start;padding:10px 20px;font-size:.85rem;font-weight:700}.btnSavePlan:hover{background-color:var(--color-primary);box-shadow:var(--shadow-glow)}.saveMessage{color:#10b981;font-size:.82rem;font-weight:600}.timelineContainer{flex-direction:column;gap:40px;display:flex}.timelineDaySection{border-left:3px solid var(--color-border);padding-left:25px;position:relative}.dayHeader{margin-bottom:25px}.dayHeader h3{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:4px;font-size:1.4rem}.dayHeader p{color:var(--color-secondary);text-transform:uppercase;font-size:.9rem;font-weight:700}.activitiesTimelineList{flex-direction:column;gap:25px;display:flex}.timelineActivityRow{flex-direction:column;display:flex;position:relative}.timeBullet{background-color:var(--color-secondary);color:#fff;white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:4px;padding:4px 8px;font-size:.65rem;font-weight:700;position:absolute;top:15px;left:-42px}.activityCard{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.travelTimeText{float:right;color:var(--color-secondary);background-color:#1e1b4b14;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600}.activityCard h4{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:4px;font-size:1.1rem}.activityLoc{color:var(--color-primary);margin-bottom:12px;font-size:.82rem;font-weight:700}.activityDetails{color:var(--color-text-dark);margin-bottom:12px;font-size:.88rem;line-height:1.5}.activityCost{color:var(--color-text-muted);font-size:.8rem;font-weight:700}.travelTipsBox{border-radius:var(--radius-lg);background-color:#f973160d;border:1px solid #f9731633;margin-top:40px;padding:25px}.travelTipsBox h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:15px;font-size:1.2rem}.travelTipsBox ul{padding-left:20px}.travelTipsBox li{color:var(--color-text-dark);padding-bottom:8px;font-size:.9rem;line-height:1.6}.travelTipsBox li:last-child{padding-bottom:0}.loadingTimeline{text-align:center;color:var(--color-text-muted);padding:100px 20px}.spinIcon{color:var(--color-primary);margin-bottom:20px;animation:3s linear infinite spin}.timelineIdleState{text-align:center;color:var(--color-text-muted);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background-color:#fff;padding:120px 20px}.idleIcon{color:#cbd5e1;margin-bottom:20px}.timelineIdleState h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:10px;font-size:1.3rem}.timelineIdleState p{max-width:400px;margin:0 auto;font-size:.9rem;line-height:1.5}@media (width<=768px){.formRow{grid-template-columns:1fr;gap:15px}.checkboxGrid{grid-template-columns:1fr}.timelineDaySection{border-left:none;padding-left:0}.timeBullet{margin-bottom:12px;display:inline-block;position:relative;top:0;left:0}.travelTimeText{float:none;margin-bottom:10px;display:inline-block}.itineraryDisplay{padding:20px}}.chatPage{background-color:var(--color-bg-light);min-height:100vh}.chatHeader{color:#fff;text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#7c2d12 100%);padding:60px 4% 50px}.chatHeader .headerIcon{color:var(--color-primary);margin-bottom:12px}.chatHeader h1{font-family:var(--font-serif);margin-bottom:12px;font-size:2.8rem}.chatHeader p{color:#d1d5db;max-width:600px;margin:0 auto;font-size:1.1rem;line-height:1.6}.chatBody{max-width:1200px;margin:0 auto;padding:40px 4% 80px}.chatLayout{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=992px){.chatLayout{grid-template-columns:2.2fr 1fr}}.chatWindowCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);height:600px;box-shadow:var(--shadow-sm);background-color:#fff;flex-direction:column;display:flex;overflow:hidden}.messagesLog{background-color:#fafafa;flex-direction:column;flex-grow:1;gap:25px;padding:30px;display:flex;overflow-y:auto}.messageBubbleRow{gap:15px;max-width:85%;display:flex}.userRow{flex-direction:row-reverse;align-self:flex-end}.assistantRow{align-self:flex-start}.msgAvatar{border:1px solid var(--color-border);width:40px;height:40px;box-shadow:var(--shadow-sm);background-color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.msgBubble{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background-color:#fff;padding:15px 20px}.userRow .msgBubble{background-color:var(--color-secondary);color:#fff;border-radius:var(--radius-md) 0 var(--radius-md) var(--radius-md);border:none}.assistantRow .msgBubble{border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md)}.markdownContent p{margin:0 0 10px;font-size:.92rem;line-height:1.5}.markdownContent p:last-child{margin-bottom:0}.markdownContent strong{color:inherit;font-weight:700}.markdownContent li{color:inherit;margin-bottom:4px;font-size:.9rem;line-height:1.5}.chatForm{border-top:1px solid var(--color-border);background-color:#fff;gap:15px;padding:20px 30px;display:flex}.chatForm input{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-light);color:var(--color-text-dark);flex-grow:1;padding:14px 20px;font-size:.95rem}.chatForm input:focus{border-color:var(--color-primary);outline:none}.btnSend{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:14px 20px;display:flex}.btnSend:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btnSend:disabled{cursor:not-allowed;background-color:#cbd5e1}.chipsSidebar{flex-direction:column;gap:25px;display:flex}.chipsCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;padding:30px}.chipsCard h3{font-family:var(--font-serif);color:var(--color-secondary);border-bottom:1px solid var(--color-border);align-items:center;gap:6px;margin-bottom:12px;padding-bottom:8px;font-size:1.2rem;display:flex}.chipsCard p{color:var(--color-text-muted);margin-bottom:20px;font-size:.85rem;line-height:1.4}.chipsList{flex-direction:column;gap:10px;display:flex}.presetChip{background-color:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-text-dark);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);padding:12px 15px;font-size:.85rem;font-weight:600}.presetChip:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#f8fafc}.etiquetteNotice{border-radius:var(--radius-lg);background-color:#f973160d;border:1px solid #f9731633;align-items:flex-start;gap:15px;padding:25px;display:flex}.noticeIcon{color:var(--color-primary);flex-shrink:0}.etiquetteNotice h4{color:var(--color-secondary);margin-bottom:4px;font-size:.95rem}.etiquetteNotice p{color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.loaderDots{justify-content:center;align-items:center;gap:4px;height:20px;display:flex}.loaderDots .dot{background-color:var(--color-text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.loaderDots .dot:first-child{animation-delay:-.32s}.loaderDots .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.directoryPage{background-color:var(--color-bg-light);min-height:100vh}.directoryHeader{color:#fff;text-align:center;background:linear-gradient(135deg,#7c2d12 0%,#1e1b4b 100%);padding:80px 4% 60px}.directoryHeader h1{font-family:var(--font-serif);color:#fafaf9;margin:15px 0;font-size:2.8rem}.directoryHeader p{color:#d1d5db;max-width:700px;margin:0 auto;font-size:1.1rem;line-height:1.6}.directoryControls{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:30px 4% 10px;display:flex}.searchBarContainer{flex-wrap:wrap;gap:15px;display:flex}.searchBarContainer .searchBox{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:#fff;flex-grow:1;align-items:center;min-width:250px;padding:5px 15px;display:flex}.searchBarContainer .searchIcon{color:var(--color-text-muted);margin-right:10px}.searchBarContainer .searchBox input{width:100%;color:var(--color-text-dark);border:none;padding:10px 5px;font-size:1rem}.cityDropdownFilter{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-dark);cursor:pointer;background-color:#fff;padding:10px 20px;font-size:.95rem;font-weight:600}.categoryFilters{scrollbar-width:none;gap:10px;padding-bottom:5px;display:flex;overflow-x:auto}.categoryFilters::-webkit-scrollbar{display:none}.filterTabBtn{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background-color:#fff;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;display:flex}.filterTabBtn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filterTabBtn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.directoryGridSection{max-width:1200px;margin:0 auto;padding:30px 4% 50px}.listingsDisplayGrid{grid-template-columns:1fr;gap:30px;display:grid}@media (width>=768px){.listingsDisplayGrid{grid-template-columns:repeat(2,1fr)}}.listingCardContainer{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background-color:#fff;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden}.listingCardContainer:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.listingCardContainer .cardHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:20px 25px 0;display:flex}.categoryBadge{background-color:var(--color-secondary);color:#fff;text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:700}.listingRating{color:#f59e0b;align-items:center;gap:4px;font-size:.9rem;font-weight:700;display:flex}.cardInfo{flex-grow:1;padding:20px 25px}.cardInfo h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:4px;font-size:1.3rem}.subcategory{text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;font-size:.8rem;font-weight:700;display:block}.address{color:var(--color-text-muted);align-items:center;gap:4px;margin-bottom:12px;font-size:.85rem;display:flex}.desc{color:var(--color-text-dark);font-size:.92rem;line-height:1.5}.cardFooter{border-top:1px dashed var(--color-border);background-color:var(--color-bg-light);justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.pricing span{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;display:block}.pricing strong{color:var(--color-secondary);font-size:.95rem}.emptyResults{text-align:center;color:var(--color-text-muted);padding:80px 20px}.idleSpinner{color:#cbd5e1;margin-bottom:15px;animation:15s linear infinite spin}.registerFormSection{max-width:900px;margin:0 auto;padding:40px 4% 80px}.registerFormCard{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background-color:#fff;padding:40px}.formTitleRow{gap:15px;margin-bottom:30px;display:flex}.formTitleRow h3{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:5px;font-size:1.5rem}.formTitleRow p{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.successNotify{color:#047857;border-radius:var(--radius-sm);background-color:#10b9811a;border:1px solid #10b981;margin-bottom:25px;padding:15px;font-size:.95rem;font-weight:600}.errorNotify{color:#991b1b;border-radius:var(--radius-sm);background-color:#dc262614;border:1px solid #f87171;margin-bottom:25px;padding:15px;font-size:.95rem;font-weight:600}.registerInputsForm{flex-direction:column;gap:20px;display:flex}.formRow{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=768px){.formRow{grid-template-columns:1fr 1fr}}.formGroup{flex-direction:column;gap:8px;display:flex}.formGroup label{color:var(--color-secondary);text-transform:uppercase;font-size:.85rem;font-weight:700}.formInput{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-dark);padding:12px 15px;font-size:.95rem}.formTextarea{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-dark);padding:15px;font-size:.95rem}.submitBtn{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;margin-top:15px;padding:14px;font-size:1rem;font-weight:700}.submitBtn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.submitBtn:disabled{cursor:not-allowed;background-color:#cbd5e1}.loadingGrid{text-align:center;color:var(--color-text-muted);padding:80px 20px}.notFoundPage{min-height:88vh;color:var(--color-text-dark);font-family:var(--font-sans);text-align:center;background:linear-gradient(#fffcf9 0%,#fed7aa 65%,#ffedd5 100%);flex-direction:column;justify-content:space-between;padding:4rem 2rem 0;display:flex;position:relative;overflow:hidden}.notFoundContent{z-index:10;max-width:750px;animation:fadeIn var(--transition-slow) ease-out;pointer-events:auto;margin:auto}.errorTitle{font-family:var(--font-serif);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;letter-spacing:-2px;-webkit-background-clip:text;margin:0;font-size:7.5rem;font-weight:900;line-height:1}.rajasthaniTitle{font-family:var(--font-serif);color:var(--color-primary);margin:1.5rem 0 .5rem;font-size:2.2rem;font-weight:700}.englishTitle{color:var(--color-text-muted);margin:0 0 2.5rem;font-size:1.25rem;font-style:italic;font-weight:500}.rajasthaniText{color:var(--color-text-dark);margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.englishText{color:var(--color-text-muted);margin-bottom:3rem;font-size:1rem;line-height:1.6}.actionWrapper{justify-content:center;margin-bottom:2rem;display:flex}.btnGoHome{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-normal);cursor:pointer;border:none;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 15px #c2410c40}.btnGoHome:hover{background:var(--color-primary-hover);transform:translateY(-3px);box-shadow:0 8px 25px #c2410c66}.desertLandscape{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.dune{width:100%;height:150px;position:absolute;bottom:0;left:0}.duneBack{z-index:1}.duneFront{z-index:3}.bgCamel{mix-blend-mode:multiply;opacity:.15;z-index:2;background-image:url(/images/resting_camel.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:340px;height:240px;animation:4s ease-in-out infinite breathing;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}@keyframes breathing{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.appWrapper{flex-direction:column;min-height:100vh;display:flex}.mainContent{flex-grow:1;padding-top:0}.pageWithNav{padding-top:80px}.backToTop{background-color:var(--color-primary);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-lg);z-index:99;opacity:0;visibility:hidden;transition:all var(--transition-normal);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(10px)}.backToTopVisible{opacity:1;visibility:visible;transform:translateY(0)}.backToTop:hover{background-color:var(--color-primary-hover);transform:translateY(-3px);box-shadow:0 8px 20px #e05a104d}.introSection{text-align:center;background:linear-gradient(#fafaf9,#fff);padding:60px 4% 20px}.introTitle{font-family:var(--font-serif);color:var(--color-secondary);margin-bottom:12px;font-size:2.2rem;font-weight:700}.introDivider{background-color:var(--color-primary);width:60px;height:3px;margin:0 auto 16px}.introText{color:var(--color-text-muted);max-width:600px;margin:0 auto;font-size:1.05rem}
