:root{--color-primary: #1a73e8;--color-primary-light: #4285f4;--color-primary-dark: #1557b0;--color-secondary: #34a853;--color-accent: #fbbc04;--color-success: #34a853;--color-error: #ea4335;--color-warning: #fbbc04;--color-info: #1a73e8;--color-white: #ffffff;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e8eaed;--color-gray-300: #dadce0;--color-gray-400: #9aa0a6;--color-gray-500: #5f6368;--color-gray-600: #3c4043;--color-gray-700: #202124;--color-gray-800: #1a1a1a;--color-gray-900: #000000;--font-family-primary: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-size-5xl: 40px;--font-size-6xl: 48px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 50%;--shadow-sm: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-md: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15);--shadow-lg: 0 2px 4px 0 rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-xl: 0 4px 8px 0 rgba(60, 64, 67, .3), 0 8px 16px 6px rgba(60, 64, 67, .15);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:1.6;color:var(--color-gray-800);background-color:var(--color-white);overflow-x:hidden;-webkit-tap-highlight-color:transparent;font-weight:400}:focus{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4);width:100%}@media (min-width: 640px){.container{padding:0 var(--space-6)}}@media (min-width: 1024px){.container{padding:0 var(--space-8)}}.app-header{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);padding:var(--space-3) 0;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);min-height:60px}.header-brand{display:flex;flex-direction:column;gap:var(--space-1)}.app-title{font-family:var(--font-family-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-800);text-decoration:none;letter-spacing:-.01em;transition:color var(--transition-fast);line-height:1.2}.app-title:hover{color:var(--color-primary)}.app-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:400;line-height:1.3}.nav{display:flex;gap:var(--space-8);align-items:center}.nav-link{color:var(--color-gray-600);text-decoration:none;font-size:var(--font-size-base);font-weight:500;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.nav-link:hover{color:var(--color-primary);background-color:var(--color-gray-50)}.nav-link.active{color:var(--color-primary);background-color:var(--color-gray-100)}.app-main{flex:1;padding:var(--space-8) 0}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-primary);font-weight:600;line-height:1.3;color:var(--color-gray-800);margin-bottom:var(--space-4);letter-spacing:-.01em}h1{font-size:var(--font-size-5xl);font-weight:700}h2{font-size:var(--font-size-4xl);font-weight:600}h3{font-size:var(--font-size-3xl);font-weight:600}h4{font-size:var(--font-size-2xl);font-weight:600}h5{font-size:var(--font-size-xl);font-weight:500}h6{font-size:var(--font-size-lg);font-weight:500}p{color:var(--color-gray-700);line-height:1.7;margin-bottom:var(--space-4);font-weight:400;font-size:var(--font-size-base)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;font-family:inherit;position:relative;overflow:hidden;min-height:44px;text-transform:none;letter-spacing:0;gap:var(--space-2)}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.btn:active:before{width:300px;height:300px}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--color-white);color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.btn-secondary:hover{background:var(--color-gray-50);border-color:var(--color-gray-400);box-shadow:var(--shadow-sm)}.btn-success{background:var(--color-success);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-success:hover{background:#2d8f47;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);min-height:36px}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal);border:1px solid var(--color-gray-200);position:relative}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1a73e805,#34a85305);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.card:hover:before{opacity:1}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-gray-300)}.temple-card{cursor:pointer}.temple-image{height:200px;overflow:hidden;position:relative}.temple-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.temple-card:hover .temple-image img{transform:scale(1.05)}.temple-status{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2}.status-badge{background:var(--color-success);color:var(--color-white);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.temple-info{padding:var(--space-5)}.temple-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3);gap:var(--space-2)}.temple-name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800);flex:1;line-height:1.3;letter-spacing:-.01em}.district-badge{background:var(--color-gray-100);color:var(--color-gray-600);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.temple-location{color:var(--color-gray-600);font-size:var(--font-size-sm);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-1);font-weight:500}.temple-location span:first-child{font-size:var(--font-size-xs)}.temple-description{color:var(--color-gray-700);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400}.temple-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.offerings-count{color:var(--color-gray-600);font-size:var(--font-size-sm);font-weight:500}.temples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-8);align-items:center;justify-content:center}.search-box{flex:1;min-width:300px;position:relative}.search-input{width:100%;padding:var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:var(--color-white);transition:all var(--transition-fast);min-height:48px;font-family:inherit;color:var(--color-gray-700)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e81a}.search-input::placeholder{color:var(--color-gray-400);font-weight:400}.filter-selects{display:flex;gap:var(--space-4);flex-wrap:wrap}.filter-select{padding:var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:var(--color-white);cursor:pointer;transition:all var(--transition-fast);min-width:160px;min-height:48px;font-family:inherit;color:var(--color-gray-700)}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e81a}.home-page{padding:var(--space-8) 0}.section{margin-bottom:var(--space-16)}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-title{font-size:var(--font-size-3xl);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-4);letter-spacing:-.01em}.section-subtitle{font-size:var(--font-size-lg);color:var(--color-gray-600);max-width:600px;margin:0 auto;line-height:1.6;font-weight:400}.hero-section{text-align:center;padding:var(--space-16) 0;background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-white) 100%);border-radius:var(--radius-2xl);margin-bottom:var(--space-16);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%231a73e8" opacity="0.03"/><circle cx="75" cy="75" r="1" fill="%2334a853" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.5;pointer-events:none}.hero-title{font-size:var(--font-size-4xl);font-weight:700;color:var(--color-gray-800);margin-bottom:var(--space-6);line-height:1.1;letter-spacing:-.02em;position:relative;z-index:1}.hero-subtitle{font-size:var(--font-size-xl);color:var(--color-gray-600);margin-bottom:var(--space-8);max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6;font-weight:400;position:relative;z-index:1}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;position:relative;z-index:1}.slideshow-container{position:relative;max-width:100%;margin:0 auto}.slideshow{position:relative;height:400px;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity var(--transition-normal);cursor:pointer}.slide.active{opacity:1}.slide-image{width:100%;height:100%;overflow:hidden}.slide-image img{width:100%;height:100%;object-fit:cover}.slide-content{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000e6);color:var(--color-white);padding:var(--space-8);text-shadow:0 2px 4px rgba(0,0,0,.8)}.slide-content h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-2);color:var(--color-white);font-weight:700;letter-spacing:-.01em;text-shadow:0 2px 4px rgba(0,0,0,.8)}.slide-content .location{font-size:var(--font-size-base);margin-bottom:var(--space-2);color:var(--color-white);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.8)}.slide-content .god{font-size:var(--font-size-sm);margin-bottom:var(--space-2);color:var(--color-white);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.8)}.slide-content .description{font-size:var(--font-size-sm);line-height:1.5;color:var(--color-white);font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.8)}.slide-indicators{display:flex;justify-content:center;margin-top:var(--space-4);gap:var(--space-2)}.indicator{width:8px;height:8px;border-radius:var(--radius-full);border:none;background:var(--color-gray-300);cursor:pointer;transition:all var(--transition-fast)}.indicator.active{background:var(--color-primary);transform:scale(1.25)}.indicator:hover{background:var(--color-gray-400)}.temple-detail{max-width:100%}.back-btn{background:var(--color-white);color:var(--color-gray-700);border:1px solid var(--color-gray-300);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;margin-bottom:var(--space-8);transition:all var(--transition-fast);font-weight:500}.back-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-400);box-shadow:var(--shadow-sm)}.temple-header{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-8);background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200)}.temple-image-large{height:300px;border-radius:var(--radius-lg);overflow:hidden}.temple-image-large img{width:100%;height:100%;object-fit:cover}.temple-meta{margin-bottom:var(--space-4)}.temple-meta p{color:var(--color-gray-600);margin-bottom:var(--space-2);font-weight:400}.why-famous{color:var(--color-gray-600);line-height:1.6;font-weight:400}.temple-about,.contact-info,.offerings-section{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200)}.temple-about h2,.contact-info h2,.offerings-section h2{font-size:var(--font-size-2xl);color:var(--color-gray-800);margin-bottom:var(--space-4);font-weight:600;letter-spacing:-.01em}.temple-about p,.contact-info p{color:var(--color-gray-600);line-height:1.6;font-weight:400}.contact-details p{margin-bottom:var(--space-2)}.contact-details a{color:var(--color-primary);text-decoration:none;font-weight:500}.contact-details a:hover{text-decoration:underline}.offerings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.offering-card{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-fast)}.offering-card:hover{border-color:var(--color-primary);background:var(--color-white);box-shadow:var(--shadow-sm)}.offering-info h3{font-size:var(--font-size-lg);color:var(--color-gray-800);margin-bottom:var(--space-2);font-weight:600;letter-spacing:-.01em}.offering-description{color:var(--color-gray-600);margin-bottom:var(--space-4);line-height:1.5;font-weight:400}.offering-price{font-size:var(--font-size-xl);font-weight:600;color:var(--color-primary);margin-bottom:var(--space-2);letter-spacing:-.01em}.booking-count{color:var(--color-gray-500);font-size:var(--font-size-sm);margin-bottom:var(--space-4);font-weight:400}.book-btn{background:var(--color-success);color:var(--color-white);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;width:100%;transition:all var(--transition-fast)}.book-btn:hover{background:#2d8f47;box-shadow:var(--shadow-sm)}.book-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;margin:var(--space-8) 0;gap:var(--space-4)}.page-btn{background:var(--color-primary);color:var(--color-white);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.page-btn:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.page-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.page-info{font-weight:500;color:var(--color-gray-700)}.app-footer{background:var(--color-gray-50);color:var(--color-gray-600);text-align:center;padding:var(--space-8) 0;margin-top:auto;border-top:1px solid var(--color-gray-200)}.app-footer p{opacity:.8;color:var(--color-gray-600);font-weight:400}.pwa-install-btn{display:none}@media (max-width: 768px){.pwa-install-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);position:fixed;top:var(--space-4);right:var(--space-4);z-index:1000;font-family:inherit}.pwa-install-btn:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pwa-install-btn:active{transform:translateY(0)}.pwa-install-btn svg{width:16px;height:16px}}@media (max-width: 480px){.pwa-install-btn{top:var(--space-3);right:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.pwa-install-btn svg{width:14px;height:14px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.no-temples{text-align:center;padding:var(--space-16);color:var(--color-gray-600)}.no-temples h3{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.no-temples p{font-size:var(--font-size-base);font-weight:400}.loading-skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-lg)}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.temple-image-container{position:relative;width:100%;height:100%}.temple-placeholder{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--radius-lg);overflow:hidden}.placeholder-image{width:100%;height:100%;object-fit:cover;opacity:.8}.placeholder-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:var(--space-4);text-align:center}.placeholder-text{color:var(--color-white);font-size:var(--font-size-sm);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.8);display:block;margin-bottom:var(--space-1)}.placeholder-subtitle{color:var(--color-white);font-size:var(--font-size-xs);font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.8);opacity:.9}.image-loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--radius-lg)}.loading-placeholder{width:100%;height:100%;object-fit:cover;opacity:.6;animation:pulse 2s infinite}.loading-text{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);color:var(--color-white);font-size:var(--font-size-sm);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.8);background:#0009;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.8}}@media (max-width: 640px){.container{padding:0 var(--space-4)}.header-content{flex-direction:column;gap:var(--space-4);min-height:auto;padding:var(--space-2) 0}.header-brand{text-align:center}.nav{gap:var(--space-6);justify-content:center}.app-title{font-size:var(--font-size-2xl)}.app-subtitle{font-size:var(--font-size-sm)}.hero-title{font-size:var(--font-size-3xl)}.hero-subtitle{font-size:var(--font-size-lg)}.hero-actions{flex-direction:column;align-items:stretch;gap:var(--space-3)}.hero-actions .btn{width:100%}.filters{flex-direction:column;align-items:stretch}.filter-selects{flex-direction:column}.temples-grid{grid-template-columns:1fr;gap:var(--space-4)}.temple-footer{flex-direction:column;align-items:stretch;gap:var(--space-3)}.btn{width:100%;min-height:48px}.btn-sm{min-height:44px}.temple-header{grid-template-columns:1fr;gap:var(--space-6)}.temple-image-large{height:200px}.offerings-grid{grid-template-columns:1fr}.status-badge{font-size:10px;padding:var(--space-1) var(--space-2)}}@media (max-width: 480px){.app-title{font-size:var(--font-size-xl)}.app-subtitle{font-size:var(--font-size-xs)}.hero-title,.section-title{font-size:var(--font-size-2xl)}.temple-name{font-size:var(--font-size-base)}.slideshow{height:300px}}@media (hover: none) and (pointer: coarse){.card:hover,.btn:hover,.temple-card:hover .temple-image img{transform:none}}@media (prefers-contrast: high){:root{--color-gray-200: #000000;--color-gray-300: #333333}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
