:root{--primary-color: #3b82f6;--accent-color: #f59e0b;--background-color: #f8fafc;--text-color: #1e293b;--card-bg: #ffffff;--border-color: #e2e8f0;--success-color: #22c55e;--footer-bg: #1e293b;--header-bg: #3b82f6;--host-highlight-bg: #f1f5f9;--filter-bg: #f1f5f9;--button-hover-bg: #2563eb;--notification-bg-info: #eff6ff;--notification-bg-success: #d9f7db;--notification-bg-warning: #fff3e0;--notification-bg-error: #ffebee;--loading-spinner-color: var(--primary-color);--error-message-color: #dc3545}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color);line-height:1.6}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:1200px;margin:0 auto;box-shadow:0 0 15px #0000000d;background-color:#fff}.header{background-color:var(--header-bg);color:#fff;padding:1rem;text-align:center;position:relative}.header h1{margin:0;font-size:1.8rem}.mobile-nav-toggle{display:none;position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#fff;font-size:1.8rem;cursor:pointer}.header-buttons{display:flex;gap:.5rem}.nav-button,.operator-toggle{background-color:var(--accent-color);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.operator-toggle{background-color:var(--accent-color)}.nav-button:hover,.operator-toggle:hover{background-color:#d97706}.content{flex-grow:1;padding:2rem}.experience-card,.operator-panel{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:1.5rem;border:1px solid var(--border-color);margin-bottom:2rem}.experience-card h2,.operator-panel h2{color:var(--primary-color);margin-top:0;font-size:1.5rem}.experience-image{width:100%;height:200px;object-fit:cover;border-radius:4px;margin-bottom:1rem}.description{margin-bottom:1rem;font-size:1rem}.details p{margin:.5rem 0;font-size:.95rem}.book-button{background-color:var(--primary-color);color:#fff;border:none;padding:.8rem 1.2rem;border-radius:4px;cursor:pointer;font-size:1rem;width:100%;margin-top:1.5rem;transition:background-color .3s ease}.book-button:hover{background-color:var(--button-hover-bg)}.success-message{color:var(--success-color);text-align:center;margin-top:1.5rem;font-weight:700;font-size:1rem}.footer{background-color:var(--footer-bg);color:#fff;text-align:center;padding:1.5rem;font-size:.9rem;margin-top:auto}.editorial-home h2,.discovery-section h2{font-size:1.6rem;margin-bottom:1.5rem;color:var(--primary-color);border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.picks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.category-item{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:1.5rem;border:1px solid var(--border-color);text-align:center}.category-item h3{margin-top:0;color:var(--primary-color);font-size:1.2rem}.host-highlights{margin-top:3rem}.host-highlights h2{font-size:1.6rem;margin-bottom:1.5rem;color:var(--primary-color);border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.hosts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;justify-items:center}.host-highlight{text-align:center}.host-image{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:.5rem;border:3px solid var(--primary-color)}.host-highlight h4{margin:.2rem 0;font-size:1rem;color:var(--text-color)}.host-highlight p{margin:0;font-size:.85rem;color:var(--primary-color)}.browse-view{margin-top:2rem}.browse-view h2{font-size:1.8rem;margin-bottom:2rem;color:var(--primary-color);text-align:center}.filters-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;background-color:var(--filter-bg);padding:1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid var(--border-color);align-items:center}.filters-container input,.filters-container select{padding:.6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;width:100%;box-sizing:border-box}.filters-container input[type=date]{min-width:150px}.price-filter{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.price-filter span{min-width:100px}.price-filter input[type=range]{flex-grow:1}.sort-controls{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;font-size:1rem;flex-wrap:wrap}.sort-controls button{background-color:transparent;border:1px solid var(--border-color);padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.sort-controls button:hover{background-color:var(--filter-bg)}.experiences-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.load-more-button,.reset-button{display:block;width:fit-content;margin:2rem auto;background-color:var(--primary-color);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s ease}.load-more-button:hover,.reset-button:hover{background-color:var(--button-hover-bg)}.no-results{text-align:center;padding:3rem 1rem;background-color:var(--filter-bg);border-radius:8px;border:1px solid var(--border-color)}.no-results p{font-size:1.1rem;margin-bottom:1.5rem;color:#666}.loading-message,.error-message,.empty-message{text-align:center;padding:2rem;font-size:1.1rem;color:#6c757d}.error-message{color:var(--error-message-color)}.notification-center{position:fixed;bottom:20px;right:20px;width:300px;max-height:400px;overflow-y:auto;background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 15px #0000001a;padding:15px;z-index:1000;border:1px solid var(--border-color)}.notification-center h3{margin-top:0;color:var(--primary-color);font-size:1.2rem;border-bottom:1px solid var(--border-color);padding-bottom:10px;margin-bottom:15px}.notification-item{padding:10px 15px;margin-bottom:10px;border-radius:4px;position:relative;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-item p{margin:0;flex-grow:1;font-size:.9rem}.notification-item.info{background-color:var(--notification-bg-info);border-color:#bde0fe;color:#0d47a1}.notification-item.success{background-color:var(--notification-bg-success);border-color:#90ee90;color:#1b5e20}.notification-item.warning{background-color:var(--notification-bg-warning);border-color:#ffcc80;color:#f57c00}.notification-item.error{background-color:var(--notification-bg-error);border-color:#ef9a9a;color:#c62828}.notification-item.read{opacity:.7;background-color:#f8f9fa;border-color:#e9ecef}.notification-item .dismiss-button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#6c757d;padding:5px}.notification-item .reenter-button{background-color:var(--primary-color);color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .3s ease}.notification-item .reenter-button:hover{background-color:var(--button-hover-bg)}.notification-item.read .dismiss-button,.notification-item.read .reenter-button{color:#6c757d}@media (max-width: 768px){.mobile-nav-toggle{display:block}.header-buttons{display:none;flex-direction:column;position:absolute;top:60px;left:0;right:0;background-color:var(--header-bg);padding:1rem 0}.header-buttons.open{display:flex}.nav-button,.operator-toggle{width:100%;padding:.8rem 1rem;margin:.2rem 0}}.experience-detail-view{padding:2rem}.experience-detail-view h2{font-size:2rem;margin-bottom:1rem;color:var(--primary-color);text-align:center}.experience-image-detail{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-bottom:2rem}.experience-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.host-profile,.gallery,.agenda,.location-notes,.group-size,.reviews,.accessibility{background-color:var(--filter-bg);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.host-profile h3,.gallery h3,.agenda h3,.location-notes h3,.group-size h3,.reviews h3,.accessibility h3{color:var(--primary-color);margin-top:0;margin-bottom:1rem;font-size:1.2rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.host-profile-pic{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-right:1rem;vertical-align:middle}.gallery-thumbnails{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:10px}.gallery-thumbnail{width:80px;height:80px;object-fit:cover;border-radius:4px;cursor:pointer;border:1px solid var(--border-color)}.review-item{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--border-color)}.review-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.reserve-action{background-color:var(--filter-bg);padding:2rem;border-radius:8px;border:1px solid var(--border-color);margin-top:2rem;text-align:center}.reserve-action h3{color:var(--primary-color);margin-top:0;margin-bottom:1rem;font-size:1.4rem}.date-time-selection,.participant-controls{margin-bottom:1.5rem}.date-time-selection label,.participant-controls label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-color)}.date-time-selection input,.participant-controls input{padding:.8rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box}.capacity-warning{color:var(--error-message-color);font-size:.9rem;margin-top:.5rem;height:1.2em}.selection-summary{background-color:var(--card-bg);padding:1rem;border-radius:4px;border:1px solid var(--border-color);margin-top:1.5rem;margin-bottom:2rem;text-align:left}.selection-summary h4{margin-top:0;color:var(--primary-color);margin-bottom:.8rem}.reserve-button,.confirm-payment-button{background-color:var(--success-color);color:#fff;border:none;padding:1rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1.1rem;transition:background-color .3s ease;width:100%;margin-bottom:1rem}.reserve-button:hover,.confirm-payment-button:hover{background-color:#147c3c}.back-to-browse-button,.back-to-details-button{background-color:var(--primary-color);color:#fff;border:none;padding:.8rem 1.2rem;border-radius:4px;cursor:pointer;font-size:1rem;width:100%;transition:background-color .3s ease}.back-to-browse-button:hover,.back-to-details-button:hover{background-color:var(--button-hover-bg)}.checkout-view{padding:2rem;max-width:700px;margin:0 auto}.checkout-view h2{font-size:1.8rem;margin-bottom:2rem;color:var(--primary-color);text-align:center}.guest-contact-form,.cancellation-policy,.payment-boundary{background-color:var(--filter-bg);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);margin-bottom:2rem}.guest-contact-form h3,.cancellation-policy h3,.payment-boundary h3{color:var(--primary-color);margin-top:0;margin-bottom:1rem;font-size:1.2rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-color)}.form-field input{padding:.8rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box}.cancellation-policy label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;margin-top:1rem}.cancellation-policy input[type=checkbox]{width:auto}.payment-boundary{background-color:var(--notification-bg-warning);border-color:var(--accent-color);text-align:center}.payment-boundary h3{color:var(--accent-color)}.my-bookings-view h2{font-size:1.8rem;margin-bottom:2rem;color:var(--primary-color);text-align:center}.booking-filters{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center;flex-wrap:wrap}.booking-filters button{background-color:var(--filter-bg);border:1px solid var(--border-color);padding:.6rem 1rem;border-radius:4px;cursor:pointer;font-size:.95rem;transition:background-color .3s ease,border-color .3s ease}.booking-filters button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.booking-filters button:hover:not(.active){background-color:#e0e0e0}.booking-item{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:1.5rem;border:1px solid var(--border-color);margin-bottom:2rem}.booking-item h3{color:var(--primary-color);margin-top:0;font-size:1.4rem;margin-bottom:1rem}.booking-item p{margin:.5rem 0;font-size:.95rem}.booking-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.cancel-button,.support-button{background-color:var(--accent-color);color:#fff;border:none;padding:.7rem 1.2rem;border-radius:4px;cursor:pointer;font-size:.95rem;transition:background-color .3s ease}.cancel-button{background-color:var(--notification-bg-warning);color:var(--accent-color);border:1px solid var(--accent-color)}.cancel-button:hover{background-color:#ffc107;color:#fff}.support-button{background-color:var(--primary-color);color:#fff}.support-button:hover{background-color:var(--button-hover-bg)}.saved-experiences-view h2{font-size:1.8rem;margin-bottom:2rem;color:var(--primary-color);text-align:center}.save-button{background-color:var(--accent-color);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.9rem;margin-left:1rem;transition:background-color .3s ease}.save-button:hover{background-color:#d97706}.experiences-grid .experience-card{margin-bottom:0}.experience-card .save-button{position:absolute;top:10px;right:10px;background-color:#fffc;color:var(--primary-color);border:none;padding:.3rem .6rem;font-size:.8rem;cursor:pointer;border-radius:4px}.experience-card .save-button:hover{background-color:#fff}.experience-card{position:relative}
