@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";:root{--primary:#4a148c;--primary-light:#7c43bd;--primary-dark:#12005e;--secondary:#fce4ec;--secondary-dark:#c9b2ba;--accent:#e91e63;--bg:#fafafa;--surface:#fff;--text-main:#212121;--text-light:#757575;--text-inverse:#fff;--border:#eee;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f;--transition:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-main);-webkit-font-smoothing:antialiased;width:100%;font-family:Inter,sans-serif;line-height:1.5;overflow-x:hidden}html{width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--primary-dark);font-family:Playfair Display,serif;font-weight:600}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid var(--border);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.btn{border-radius:var(--radius-md);transition:var(--transition);justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--primary-light)}.btn-secondary{background-color:var(--secondary);color:var(--primary-dark)}.btn-secondary:hover{background-color:var(--secondary-dark)}.btn-outline{border:1px solid var(--primary);color:var(--primary)}.btn-outline:hover{background-color:var(--secondary)}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.page-content{flex:1;padding:40px 0}.text-center{text-align:center}.text-primary{color:var(--primary)}.text-light{color:var(--text-light)}.text-muted{color:#9e9e9e}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.dashboard-grid{grid-template-columns:250px 1fr;min-height:calc(100vh - 72px);display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:24px}.dashboard-content{background:var(--bg);padding:32px}@media (width<=768px){.dashboard-grid{flex-direction:column;grid-template-columns:1fr;display:flex}.sidebar{border-right:none;border-bottom:1px solid var(--border);white-space:nowrap;flex-direction:row;align-items:center;padding:16px;display:flex;overflow-x:auto}.sidebar h3{margin-right:16px;margin-bottom:0!important}.sidebar nav{align-items:center;flex-direction:row!important}.sidebar nav a{margin-top:0!important}}.navbar{background-color:var(--surface);border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow-sm);position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;height:72px;display:flex}.navbar-nav{align-items:center;gap:32px;display:flex}.nav-link{color:var(--text-light);transition:var(--transition);font-weight:500}.nav-link:hover{color:var(--primary)}@media (width<=768px){.navbar-container{flex-direction:column;gap:12px;height:auto;padding:12px 0}.navbar-nav{flex-wrap:wrap;justify-content:center;gap:16px;width:100%}}.hall-card{flex-direction:column;display:flex}.hall-image-container{height:200px;position:relative;overflow:hidden}.hall-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.hall-card:hover .hall-image{transform:scale(1.05)}.hall-rating{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#ffffffe6;align-items:center;gap:4px;padding:4px 8px;font-size:.85rem;font-weight:600;display:flex;position:absolute;top:12px;right:12px}.hall-content{flex-direction:column;flex:1;padding:20px;display:flex}.hall-name{margin-bottom:8px;font-size:1.25rem}.hall-address{align-items:center;gap:6px;margin-bottom:16px;font-size:.9rem;display:flex}.icon-inline{flex-shrink:0}.hall-details{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;display:flex}.detail-item{align-items:center;gap:6px;font-size:.9rem;display:flex}.detail-price{flex-direction:column;align-items:flex-end;display:flex}.price-label{color:var(--text-light);font-size:.75rem}.price-value{font-size:1.1rem;font-weight:700}.marketplace-header{padding:40px 0 20px}.marketplace-header h1{font-size:2.5rem}.mt-4{margin-top:32px}.search-bar-container{justify-content:center;display:flex}.search-bar{background:var(--surface);border:1px solid var(--border);width:100%;max-width:800px;box-shadow:var(--shadow-md);border-radius:50px;align-items:center;padding:8px;display:flex}.city-selector{flex:none;align-items:center;gap:8px;padding:0 16px;display:flex}.city-select{color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;padding:8px 0;font-family:inherit;font-size:1rem;font-weight:500}.search-divider{background-color:var(--border);width:1px;height:30px;margin:0 8px}.text-search{flex:1;align-items:center;padding:0 16px;display:flex}.search-input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:1rem}.search-input::placeholder{color:var(--text-light)}.search-btn{border-radius:50px;padding:12px 32px}.featured-section{padding:20px 0}.section-title{flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.title-underline{background:var(--primary);border-radius:2px;width:60px;height:4px;margin-top:8px}.horizontal-scroll-container{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding-bottom:24px;overflow-x:auto}.horizontal-scroll-container::-webkit-scrollbar{display:none}.featured-grid{gap:24px;min-width:max-content;display:flex}.featured-card-wrapper{width:350px}.marketplace-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;display:grid}@media (width<=768px){.search-bar{border-radius:16px;flex-direction:column;align-items:stretch;gap:12px;padding:16px}.city-selector{background:var(--bg);border-radius:var(--radius-md);padding:8px}.search-divider{display:none}.text-search{background:var(--bg);border-radius:var(--radius-md);padding:8px}.search-input{width:100%}.search-btn{border-radius:var(--radius-md);width:100%}.marketplace-header h1{font-size:2rem}.featured-card-wrapper{width:280px}.horizontal-scroll-container{margin:0 -16px;padding:0 16px 24px}}.calendar-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);width:100%;padding:24px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.month-title{color:var(--primary-dark);text-transform:capitalize;margin:0;font-size:1.2rem}.btn-icon{background:var(--bg);border:1px solid var(--border);width:32px;height:32px;color:var(--text-main);cursor:pointer;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-icon:hover:not(:disabled){background:var(--secondary);color:var(--primary);border-color:var(--primary)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-cell{aspect-ratio:1;border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:.9rem;display:flex}.header-cell{color:var(--text-light);font-size:.8rem;font-weight:600}.empty{background:0 0}.day-cell{cursor:pointer;transition:var(--transition);border:1px solid #0000;font-weight:500}.day-cell.past{color:#ccc;cursor:not-allowed}.day-cell.available{color:#2e7d32;background-color:#e8f5e9;border-color:#c8e6c9}.day-cell.available:hover{background-color:#c8e6c9}.day-cell.booked{color:#c62828;cursor:not-allowed;background-color:#ffebee;border-color:#ffcdd2}.day-cell.selected{background-color:var(--primary);color:#fff;border-color:var(--primary-dark);box-shadow:var(--shadow-sm);transform:scale(1.05)}.calendar-legend{color:var(--text-light);justify-content:center;gap:16px;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.dot{border-radius:50%;width:10px;height:10px}.available-dot{background-color:#4caf50}.booked-dot{background-color:#f44336}.slots-container{border-top:1px solid var(--border);padding-top:20px}.slots-row{flex-direction:column;gap:12px;display:flex}.slot-btn{border:1px solid var(--primary);width:100%;color:var(--primary);background:#fff;padding:12px;font-size:.95rem}.slot-btn:hover:not(:disabled){background:var(--secondary)}.slot-btn.booked{border-color:var(--border);color:var(--text-light);cursor:not-allowed;background:#f5f5f5}.back-link{color:var(--primary);transition:var(--transition);align-items:center;gap:8px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--primary-light);transform:translate(-4px)}.hall-header-image{border-radius:var(--radius-lg);width:100%;height:400px;box-shadow:var(--shadow-md);margin-bottom:32px;overflow:hidden}.hall-header-image img{object-fit:cover;width:100%;height:100%}.hall-info-grid{grid-template-columns:2fr 1fr;gap:40px;display:grid}.hall-main-info h1{font-size:2.5rem}.hall-address{align-items:center;gap:8px;font-size:1.1rem;display:flex}.features-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:24px;padding:24px 0;display:flex}.feature-item{align-items:center;gap:8px;font-weight:500;display:flex}.price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);padding:24px}.price-card h2{color:var(--primary);margin-top:8px;font-size:2rem}.booking-action{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.selected-summary{background:var(--secondary);color:var(--primary-dark);border-radius:var(--radius-md);text-align:center;padding:12px}.success-message{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #4caf50;padding:40px 24px}@media (width<=992px){.hall-info-grid{grid-template-columns:1fr}}
