:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:16px;overflow-x:hidden;width:100%}body{margin:0;min-width:320px;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;overscroll-behavior-y:contain}img{max-width:100%;height:auto}button,a,input,select{-webkit-tap-highlight-color:transparent}.mobile-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e5e7eb}.user-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb}.user-header-left{display:flex;align-items:center;gap:.75rem}.user-icon-circle{width:50px;height:50px;border-radius:50%;background:#14b8a6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-icon{width:24px;height:24px;color:#fff;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.user-greeting{display:flex;flex-direction:column;gap:.125rem}.greeting-text{font-size:.875rem;color:#000;margin:0;line-height:1.2}.welcome-text{font-size:1.5rem;font-weight:700;color:#000;margin:0;line-height:1.2;letter-spacing:.5px}.user-header-right{display:flex;align-items:center;gap:1rem}.header-icon-btn{background:none;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;-webkit-tap-highlight-color:transparent}.header-icon-btn:active{transform:scale(.9)}.header-icon{width:24px;height:24px;color:#14b8a6;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-icon-btn:last-child .header-icon{fill:currentColor}.search-container{padding:1rem 1.5rem;background:#fff}.footer{background:#1f2937;color:#fff;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:3rem 2rem 1rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3{margin:0 0 1rem;color:#2563eb}.footer-section h4{margin:0 0 1rem;font-size:1rem}.footer-section p{margin:0;color:#9ca3af;line-height:1.6}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:#9ca3af;text-decoration:none;transition:color .2s}.footer-section ul li a:hover{color:#fff}.footer-bottom{border-top:1px solid #374151;padding-top:1rem;text-align:center}.footer-bottom p{margin:0;color:#9ca3af}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:1.5rem}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#f3f4f6;border-top:1px solid #e5e7eb;display:flex;justify-content:space-around;align-items:center;padding:.5rem 0;z-index:100;box-shadow:0 -2px 8px #0000000d}.nav-item{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;color:#000;transition:color .2s,transform .2s;text-decoration:none;flex:1;min-height:60px;-webkit-tap-highlight-color:transparent}.nav-item.active{color:#10b981}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-icon{width:24px;height:24px;color:currentColor;fill:currentColor;transition:transform .2s,color .2s,fill .2s}.layout{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden}.main-content{flex:1;width:100%;padding-bottom:80px}@media(max-width:768px){.layout footer{display:none}}.home-mobile{width:100%;min-height:100vh;background:#fff;padding-bottom:80px}.section-heading{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:0 1rem}.heading-text{font-size:1.25rem;font-weight:700;color:#000;letter-spacing:.5px}.heading-underline{width:60px;height:3px;background:#14b8a6;border-radius:2px}.popular-cities-section{padding:1.5rem 1rem}.popular-cities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:0 .5rem}.city-circle-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s}.city-circle-item:active{transform:scale(.95)}.city-circle-image{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:.5rem;border:2px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.city-circle-image img{width:100%;height:100%;object-fit:cover}.city-circle-name{font-size:.875rem;font-weight:500;color:#000;text-align:center;margin:0}.all-cities-section{padding:1.5rem 1rem}.all-cities-list{display:flex;flex-direction:column;gap:0}.city-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:background .2s;border-bottom:1px solid #f3f4f6}.city-list-item:active{background:#f9fafb}.city-list-item:last-child{border-bottom:none}.city-list-image{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #e5e7eb}.city-list-image img{width:100%;height:100%;object-fit:cover}.city-list-name{font-size:1rem;font-weight:500;color:#000;flex:1}@media(min-width:768px){.popular-cities-grid{grid-template-columns:repeat(4,1fr);max-width:600px;margin:0 auto}.all-cities-list{max-width:600px;margin:0 auto}}.attractions-list-page{padding:1rem;padding-bottom:100px;background:#fff;min-height:100vh}.location-display{display:flex;align-items:center;gap:.5rem;padding:1rem 0;margin-bottom:1rem}.location-icon{width:20px;height:20px;color:#10b981;flex-shrink:0}.location-text{font-size:1rem;font-weight:500;color:#000;text-decoration:underline;text-underline-offset:4px}.section-title{font-size:1.5rem;font-weight:700;color:#000;margin-bottom:1rem;padding:0}.most-visited-section{margin-bottom:2rem}.attractions-slider{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.attractions-slider::-webkit-scrollbar{display:none}.attraction-slide-card{min-width:280px;width:280px;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;scroll-snap-align:start}.attraction-slide-card:active{transform:scale(.98)}.slide-image{width:100%;height:180px;overflow:hidden;background:#f3f4f6}.slide-image img{width:100%;height:100%;object-fit:cover}.slide-info{padding:1rem}.slide-title{font-size:1rem;font-weight:600;color:#000;margin:0 0 .5rem;line-height:1.3}.slide-location{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#6b7280}.slide-location-icon{width:16px;height:16px;color:#10b981;flex-shrink:0}.categories-section{margin-bottom:2rem}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.category-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:transparent;border-radius:.75rem;cursor:pointer;transition:transform .2s;border:none}.category-item:active{transform:scale(.95)}.category-item.active{background:transparent}.category-icon-wrapper{width:50px;height:50px;background:#f3f4f6;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.category-icon{width:24px;height:24px;color:#10b981;display:flex;align-items:center;justify-content:center}.category-name{font-size:.875rem;font-weight:500;color:#000;text-align:center;line-height:1.2}.places-nearby-section{margin-bottom:2rem}.no-attractions{text-align:center;padding:2rem;color:#6b7280;font-size:.9rem}@media(max-width:768px){.attraction-slide-card{min-width:260px;width:260px}.categories-grid{gap:.75rem}.category-icon-wrapper{width:45px;height:45px}.category-icon{font-size:1.5rem}}.category-page{padding:0 0 100px;background:#fff;min-height:100vh}.category-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb}.category-title{font-size:1.5rem;font-weight:700;color:#000;margin:0;flex:1}.search-container{padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.search-bar{display:flex;align-items:center;background:#fff;border-radius:.5rem;padding:.75rem 1.25rem;gap:.75rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #10b98133}.search-icon{width:20px;height:20px;color:#6b7280;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:1rem;color:#1f2937;outline:none}.search-input::placeholder{color:#9ca3af}.attractions-list{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.attraction-card{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.attraction-card:active{transform:scale(.98)}.attraction-image{width:100%;height:200px;overflow:hidden;background:#f3f4f6}.attraction-image img{width:100%;height:100%;object-fit:cover}.attraction-info{padding:1rem}.attraction-name{font-size:1.25rem;font-weight:600;color:#000;margin:0 0 .75rem;line-height:1.3}.attraction-location{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;color:#6b7280}.location-icon{width:16px;height:16px;color:#10b981;flex-shrink:0}.attraction-rating{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.star-icon{width:16px;height:16px;color:#fbbf24;flex-shrink:0}.rating-value{font-weight:600;color:#000}.reviews-count{color:#6b7280;font-size:.85rem}.loading,.no-results{text-align:center;padding:3rem 1rem;color:#6b7280}.no-results p{margin:0;font-size:.9rem}.attraction-detail-page{width:100%;min-height:100vh;background:#fff;padding-bottom:100px}.image-section{position:relative;width:100%;height:300px;overflow:hidden;background:#f3f4f6}.main-image{width:100%;height:100%;object-fit:cover}.back-button-overlay{position:absolute;top:1rem;left:1rem;width:40px;height:40px;border-radius:50%;background:#10b981e6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s;-webkit-tap-highlight-color:transparent}.back-button-overlay:active{background:#10b981}.back-icon{width:24px;height:24px;color:#fff;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.info-section{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.rating-section{display:flex;align-items:center;gap:.5rem}.star-icon{width:20px;height:20px;color:#fbbf24;flex-shrink:0}.rating-text{font-size:1rem;color:#000;font-weight:500}.timing-cart-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:nowrap}.timing-section{display:flex;align-items:center;gap:.25rem;font-size:1rem;color:#000}.timing-label{font-weight:500}.timing-value{font-weight:400}.add-to-cart-button{background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.add-to-cart-button:active{background:#059669}.attraction-name{font-size:1.75rem;font-weight:700;color:#000;margin:0;line-height:1.3}.description-section{margin-top:.5rem}.description-text{font-size:1rem;color:#4b5563;line-height:1.6;margin:0}.prices-section{margin-top:1rem}.prices-title{font-size:1.25rem;font-weight:600;color:#000;margin:0 0 1rem}.prices-list{display:flex;flex-direction:column;gap:.75rem}.price-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.price-item:last-child{border-bottom:none}.price-category{font-size:1rem;color:#4b5563;flex:1}.price-value{font-size:1rem;font-weight:600;color:#000;margin-left:1rem}.loading,.error-message{text-align:center;padding:3rem 1rem;color:#6b7280}.error-message{display:flex;flex-direction:column;gap:1rem;align-items:center}.error-message button{background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer}@media(max-width:640px){.image-section{height:250px}.attraction-name{font-size:1.5rem}.timing-cart-row{flex-wrap:wrap}.add-to-cart-button{flex-shrink:0}}.date-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.date-selector-modal{background:#fff;border-radius:1rem;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.date-selector-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.date-selector-title{font-size:1.25rem;font-weight:700;color:#000;margin:0}.close-button{background:none;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.close-button svg{width:24px;height:24px;color:#6b7280;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.attraction-name-text{padding:0 1.5rem;margin:.5rem 0 0;font-size:.95rem;color:#6b7280;font-weight:500}.date-selector-content{padding:1.5rem}.date-label{display:block;font-size:1rem;font-weight:600;color:#000;margin-bottom:1rem}.date-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;color:#000;background:#fff;cursor:pointer;transition:border-color .2s}.date-input:focus{outline:none;border-color:#10b981}.selected-date-display{margin-top:1rem;padding:1rem;background:#f3f4f6;border-radius:.5rem}.selected-date-text{font-size:.95rem;color:#4b5563;margin:0}.selected-date-text strong{color:#000;font-weight:600}.date-selector-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.cancel-button,.confirm-button{flex:1;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s;-webkit-tap-highlight-color:transparent}.cancel-button{background:#f3f4f6;color:#000;border:none}.cancel-button:active{background:#e5e7eb}.confirm-button{background:#10b981;color:#fff;border:none}.confirm-button:disabled{opacity:.5;cursor:not-allowed}.confirm-button:not(:disabled):active{background:#059669}.cart-page{width:100%;min-height:100vh;background:#f9fafb;padding-bottom:100px}.cart-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.cart-title{font-size:1.5rem;font-weight:700;color:#000;margin:0;flex:1}.empty-cart{text-align:center;padding:3rem 1rem;color:#6b7280}.cart-items{padding:1rem;display:flex;flex-direction:column;gap:1rem}.cart-item-card{position:relative;background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 8px #0000001a}.remove-button{position:absolute;top:1rem;right:1rem;background:none;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;-webkit-tap-highlight-color:transparent}.remove-button svg{width:20px;height:20px;color:#000;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cart-item-content{display:flex;flex-direction:column;gap:1rem}.item-header{display:flex;gap:1rem}.item-thumbnail{width:80px;height:80px;border-radius:.5rem;overflow:hidden;background:#f3f4f6;flex-shrink:0}.item-thumbnail img{width:100%;height:100%;object-fit:cover}.item-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-name{font-size:1.125rem;font-weight:600;color:#000;margin:0;line-height:1.3}.item-location,.item-timing{font-size:.9rem;color:#6b7280;margin:0}.ticket-selection{margin-top:.5rem}.ticket-selection-title{font-size:1rem;font-weight:600;color:#000;margin:0 0 .75rem}.ticket-types{display:flex;flex-direction:column;gap:.75rem}.ticket-type{display:flex;align-items:center;justify-content:space-between}.ticket-label{font-size:.95rem;color:#000;font-weight:500}.ticket-controls{display:flex;align-items:center;gap:.75rem}.ticket-button{width:32px;height:32px;border-radius:.375rem;border:1px solid #10b981;background:#fff;color:#10b981;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;-webkit-tap-highlight-color:transparent}.ticket-button:disabled{opacity:.5;cursor:not-allowed}.ticket-button:not(:disabled):active{background:#10b981;color:#fff}.ticket-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ticket-count{font-size:1rem;font-weight:600;color:#000;min-width:24px;text-align:center}.item-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.payment-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.selected-date-text{font-size:.95rem;font-weight:500;color:#000;margin:0}.payment-status{font-size:.9rem;color:#6b7280;margin:0}.payment-status .pending{font-weight:700;color:#000}.item-price{font-size:1rem;font-weight:600;color:#000;margin:0}.select-dates-button{background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.select-dates-button:active{background:#059669}.cart-footer{padding:1rem;position:sticky;bottom:80px;background:#f9fafb;border-top:1px solid #e5e7eb}.proceed-button{width:100%;background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:1rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .2s;-webkit-tap-highlight-color:transparent}.proceed-button:active{background:#059669}@media(max-width:640px){.item-footer{flex-direction:column;align-items:stretch}.select-dates-button{width:100%}}.visitor-details-page{width:100%;min-height:100vh;background:#fff;padding-bottom:100px}.visitor-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.progress-indicator{display:flex;align-items:center;justify-content:center;padding:2rem 1rem 1.5rem;gap:.5rem}.visitor-forms{padding:0 1rem;display:flex;flex-direction:column;gap:0}.visitor-fields{display:flex;flex-direction:column;gap:1rem}.visitor-input{width:100%;padding:.875rem 1rem;background:#10b981;border:none;border-radius:.5rem;font-size:1rem;color:#fff;font-weight:500;outline:none;transition:background .2s}.visitor-input::placeholder{color:#ffffffb3}.visitor-input:focus{background:#059669}.visitor-input option{background:#fff;color:#000}@media(max-width:640px){.progress-indicator{padding:1.5rem 1rem 1rem}.step-circle{width:36px;height:36px;font-size:.9rem}.progress-line{max-width:40px}}.upload-documents-page{width:100%;min-height:100vh;background:#fff;padding-bottom:100px}.upload-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.progress-indicator{display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem 1rem;gap:.5rem}.progress-step{display:flex;align-items:center;justify-content:center}.instruction-text{padding:0 1rem 1.5rem;font-size:.95rem;font-style:italic;color:#6b7280;margin:0;text-align:center}.visitor-sections{padding:0 1rem;display:flex;flex-direction:column;gap:0}.visitor-section{padding:1.5rem 0}.section-divider{height:1px;background:#e5e7eb;margin-bottom:1.5rem}.visitor-heading{font-size:1.125rem;font-weight:600;color:#000;margin:0 0 1rem}.visitor-details-container{display:grid;grid-template-columns:1fr auto;align-items:flex-start;gap:1.5rem}.visitor-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{display:flex;gap:.5rem;margin:0;font-size:.95rem}.detail-label{font-weight:600;color:#000}.detail-value{color:#4b5563;font-weight:400}.upload-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0;min-width:100px}.upload-button-label{cursor:pointer;display:block}.file-input{display:none}.upload-button{width:80px;height:80px;background:#10b981;border-radius:.75rem;display:flex;align-items:center;justify-content:center;transition:background .2s;-webkit-tap-highlight-color:transparent}.upload-button-label:active .upload-button{background:#059669}.upload-icon{width:32px;height:32px;color:#000;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.upload-hint{font-size:.75rem;color:#9ca3af;margin:0;text-align:center;max-width:100px}.action-footer{padding:1.5rem 1rem;position:sticky;bottom:80px;background:#fff;border-top:1px solid #e5e7eb}.next-button{width:100%;background:#10b981;color:#fff;border:none;border-radius:.75rem;padding:1rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:background .2s;-webkit-tap-highlight-color:transparent;text-transform:uppercase;letter-spacing:.5px}.next-button:active{background:#059669}.loading{text-align:center;padding:3rem 1rem;color:#6b7280}@media(max-width:640px){.progress-indicator{padding:1.5rem 1rem 1rem}.step-circle{width:36px;height:36px;font-size:.9rem}.progress-line{max-width:40px}.upload-button{width:70px;height:70px}.upload-icon{width:28px;height:28px}.visitor-details-container{grid-template-columns:1fr;gap:1rem}.upload-section{align-self:center}}.payment-page{width:100%;min-height:100vh;background:#f9fafb;padding-bottom:100px}.payment-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.back-button{background:none;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.back-icon{width:24px;height:24px;color:#10b981;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.page-title{font-size:1.25rem;font-weight:700;color:#000;margin:0;flex:1;text-align:center}.progress-indicator{display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem 1rem;gap:.5rem;background:#fff}.progress-step{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.step-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#000;border:2px solid #10b981;background:#fff;transition:all .2s}.progress-step.active .step-circle{background:#10b981;color:#fff;border-color:#10b981}.progress-step.current .step-underline{position:absolute;bottom:-8px;width:40px;height:3px;background:#f97316;border-radius:2px}.progress-line{flex:1;height:2px;background:#000;max-width:60px}.progress-line.active{background:#10b981}.order-details-card{background:#d1fae5;border-radius:.75rem;padding:1.5rem;margin:1rem}.order-details-title{font-size:1.25rem;font-weight:700;color:#000;margin:0 0 1rem}.order-details-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.order-detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:.95rem;color:#4b5563;font-weight:400}.detail-value{font-size:.95rem;color:#000;font-weight:500}.order-divider{border-top:1px dashed #6b7280;margin:1rem 0}.order-total{display:flex;justify-content:space-between;align-items:center}.total-left{display:flex;flex-direction:column;gap:.25rem}.total-label{font-size:.9rem;color:#4b5563;font-weight:500}.total-amount{font-size:1.5rem;font-weight:700;color:#000}.document-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#3b82f6}.document-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.payment-methods-section{padding:1rem}.section-title{font-size:1.125rem;font-weight:600;color:#000;margin:0 0 1rem}.payment-methods{display:flex;flex-direction:column;gap:.75rem}.payment-method{background:#fff;border-radius:.75rem;padding:1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s;border:2px solid transparent;-webkit-tap-highlight-color:transparent}.payment-method:active{background:#f3f4f6}.payment-method.selected{border-color:#10b981}.payment-method-left{display:flex;align-items:center;gap:1rem;flex:1}.payment-logo{width:48px;height:48px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.googlepay-logo{background:#fff}.paytm-logo{background:#e0f2fe;padding:.5rem}.paytm-text{font-size:.875rem;font-weight:700;color:#0284c7}.mastercard-logo{background:#fff;position:relative;width:48px;height:32px}.mastercard-circles{position:relative;width:100%;height:100%}.mastercard-circle{position:absolute;width:24px;height:24px;border-radius:50%}.mastercard-circle.red{background:#eb001b;left:0;top:4px}.mastercard-circle.orange{background:#f79e1b;right:0;top:4px;z-index:1}.payment-method-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.payment-method-name{font-size:1rem;font-weight:600;color:#000}.payment-amount{font-size:.9rem;color:#6b7280;font-weight:500}.secured-tag{display:inline-block;background:#a855f7;color:#fff;font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:.25rem;margin-top:.25rem}.payment-radio{display:flex;align-items:center;justify-content:center;flex-shrink:0}.radio-selected{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.radio-unselected{width:24px;height:24px;border-radius:50%;border:2px solid #d1d5db;background:#fff}.pay-button{width:100%;background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:.875rem 1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:.5rem;-webkit-tap-highlight-color:transparent}.pay-button:active{background:#059669}.empty-cart-message{text-align:center;padding:3rem 1rem;color:#6b7280}.empty-cart-message button{margin-top:1rem;background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer}@media(max-width:640px){.progress-indicator{padding:1.5rem 1rem 1rem}.step-circle{width:36px;height:36px;font-size:.9rem}.progress-line{max-width:40px}.order-details-card{margin:1rem .75rem;padding:1.25rem}}.booking-page{padding:2rem;min-height:60vh}.container{max-width:1200px;margin:0 auto}.back-link{display:inline-block;color:#2563eb;margin-bottom:2rem;text-decoration:none;transition:color .2s}.back-link:hover{color:#1d4ed8}.booking-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;margin-top:2rem}.booking-summary{background:#f9fafb;padding:2rem;border-radius:.75rem;height:fit-content;position:sticky;top:2rem}.booking-summary h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#1f2937}.summary-attraction{display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.summary-attraction img{width:100px;height:100px;object-fit:cover;border-radius:.5rem}.summary-attraction h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:#1f2937}.summary-attraction p{font-size:.9rem;color:#6b7280;margin:.25rem 0}.summary-price{color:#2563eb;font-weight:600;margin-top:.5rem}.summary-total{display:flex;flex-direction:column;gap:1rem}.total-line{display:flex;justify-content:space-between;font-size:1rem;color:#4b5563}.total-line.total{font-size:1.25rem;font-weight:700;color:#1f2937;padding-top:1rem;border-top:2px solid #e5e7eb}.booking-form{background:#fff;padding:2rem;border-radius:.75rem;box-shadow:0 2px 8px #0000001a}.booking-form h2{font-size:1.5rem;font-weight:600;margin-bottom:2rem;color:#1f2937}.form-error{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.form-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.form-section h3{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#1f2937}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field-error{display:block;color:#ef4444;font-size:.85rem;margin-top:.25rem}.submit-button{width:100%;padding:1rem 2rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:2rem}.submit-button:hover:not(:disabled){background:#1d4ed8}.submit-button:disabled{background:#9ca3af;cursor:not-allowed}@media(max-width:968px){.booking-content{grid-template-columns:1fr}.booking-summary{position:static}}@media(max-width:640px){.booking-page{padding:1rem}.booking-summary,.booking-form{padding:1.5rem}}.confirmation-page{padding:2rem;min-height:60vh}.container{max-width:800px;margin:0 auto}.confirmation-content{text-align:center;padding:3rem 2rem}.success-icon{width:80px;height:80px;margin:0 auto 2rem;background:#d1fae5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#10b981}.confirmation-title{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.confirmation-subtitle{font-size:1.1rem;color:#6b7280;margin-bottom:3rem;line-height:1.6}.confirmation-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem;text-align:left}.detail-card{background:#f9fafb;padding:2rem;border-radius:.75rem;box-shadow:0 2px 4px #0000000d}.detail-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.detail-row:last-child{border-bottom:none}.detail-row.total-row{border-top:2px solid #e5e7eb;padding-top:1rem;margin-top:.5rem}.detail-label{font-weight:500;color:#6b7280}.detail-value{font-weight:600;color:#1f2937}.detail-value.status-confirmed{color:#10b981;text-transform:capitalize}.attraction-preview{display:flex;gap:1rem;align-items:center}.attraction-preview img{width:100px;height:100px;object-fit:cover;border-radius:.5rem}.attraction-preview h4{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.attraction-price{color:#2563eb;font-weight:600;margin:0}.confirmation-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-button{padding:.75rem 2rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.action-button.primary{background:#2563eb;color:#fff}.action-button.primary:hover{background:#1d4ed8}.action-button.secondary{background:#fff;color:#2563eb;border:2px solid #2563eb}.action-button.secondary:hover{background:#f3f4f6}.loading,.error-message{text-align:center;padding:3rem;color:#6b7280}.error-message{background:#fee2e2;color:#991b1b;border-radius:.5rem}.error-message a{color:#2563eb;text-decoration:underline;margin-top:1rem;display:inline-block}@media(max-width:640px){.confirmation-page{padding:1rem}.confirmation-content{padding:2rem 1rem}.confirmation-title{font-size:2rem}.detail-card{padding:1.5rem}.confirmation-actions{flex-direction:column}.action-button{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;line-height:1.6;background:#fff;overflow-x:hidden}#root{min-height:100vh;width:100%;max-width:100vw}a{color:inherit;text-decoration:none}button{font-family:inherit}html{font-size:16px}button,a,input,select{min-height:44px}
