.custom-pin-container{position:relative;cursor:pointer;width:40px;height:56px;transform-origin:bottom center;transition:transform .2s ease;pointer-events:auto!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@media (prefers-reduced-motion:reduce){.custom-pin-container *{animation:none!important;transition:none!important}}.custom-pin-container .pin-particles,.custom-pin-container .pin-pulse{display:none}.custom-pin-container.fancy-mode .pin-particles,.custom-pin-container.fancy-mode .pin-pulse{display:block}.custom-pin-container:hover{transform:translateY(-4px) scale(1.05) translateZ(0);z-index:100}.custom-pin-container:active{transform:scale(.95) translateZ(0)}.pin-shadow{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%) translateZ(0);width:24px;height:8px;background:radial-gradient(ellipse at center,rgba(0,0,0,.25),transparent);border-radius:50%;transition:transform .2s ease}.custom-pin-container:hover .pin-shadow{transform:translateX(-50%) scale(1.3) translateZ(0);opacity:.2}.pin-body{position:relative;width:40px;height:40px;border-radius:50% 50% 50% 0;transform:rotate(-45deg) translateZ(0);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid rgba(255,255,255,.4);box-shadow:0 2px 4px rgba(0,0,0,.1);transition:border-color .2s ease}.pin-body.gradient-pin{border:2px solid rgba(255,255,255,.5)}.custom-pin-container.ongoing-event .pin-body:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent,rgba(255,255,255,.3) 50%,transparent);animation:eventShine 3s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes eventShine{0%{transform:translateX(-150%) translateY(-150%);opacity:0}50%{opacity:1}to{transform:translateX(150%) translateY(150%);opacity:0}}.custom-pin-container.perf-mode .pin-body:before,.pin-body:before{display:none}.custom-pin-container:hover .pin-body{border-color:rgba(255,255,255,.6)}.pin-icon{width:20px;height:20px;transform:rotate(45deg) translateZ(0);z-index:10;position:relative;pointer-events:none}.pin-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);width:100%;height:100%;border-radius:50% 50% 50% 0;border:2px solid;opacity:0;animation:pulse 2.5s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none;z-index:0}@keyframes pulse{0%{transform:translate(-50%,-50%) rotate(-45deg) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) rotate(-45deg) scale(1.25);opacity:.35}to{transform:translate(-50%,-50%) rotate(-45deg) scale(1.4);opacity:0}}.custom-pin-container.ongoing-event .pin-body{background:linear-gradient(135deg,#FFD700,#FFA500 50%,#FFD700);border:2px solid rgba(255,255,255,.7);box-shadow:0 4px 12px rgba(255,215,0,.3);overflow:hidden}.pin-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}.custom-pin-container.fancy-mode.ongoing-event .particle{position:absolute;bottom:20px;left:50%;width:4px;height:4px;border-radius:50%;background:#FFD700;animation:riseAndFade 3s ease-out infinite;opacity:0}.custom-pin-container.fancy-mode.ongoing-event .particle:first-child{left:50%;animation-delay:0s}.custom-pin-container.fancy-mode.ongoing-event .particle:nth-child(2){left:40%;animation-delay:.6s}.custom-pin-container.fancy-mode.ongoing-event .particle:nth-child(3){left:60%;animation-delay:1.2s}.custom-pin-container.fancy-mode.ongoing-event .particle:nth-child(4){left:50%;animation-delay:1.8s}@keyframes riseAndFade{0%{transform:translateY(0) translateX(-50%);opacity:0}20%{opacity:.8}to{transform:translateY(-60px) translateX(-50%);opacity:0}}.custom-pin-container.ongoing-event:hover{transform:translateY(-4px) scale(1.05) translateZ(0)}.custom-pin-container.closed{width:36px;height:48px;opacity:.7;animation:none}.custom-pin-container.closed .pin-body{width:36px;height:36px;background:#9CA3AF;border:1.5px solid rgba(255,255,255,.3);box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.custom-pin-container.closed .pin-body:before{display:none}.custom-pin-container.closed .pin-icon{width:18px;height:18px;opacity:.85}.custom-pin-container.closed:hover{transform:translateY(-3px) scale(1.04);opacity:.85}.custom-pin-container.closed .pin-shadow{width:16px;height:6px;opacity:.25}.pin-point{position:absolute;bottom:0;left:50%;transform:translateX(-50%) translateZ(0);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid;opacity:.9}.pin-point[style*=background]{width:12px;height:12px;border:none;-webkit-clip-path:polygon(50% 100%,0 0,100% 0);clip-path:polygon(50% 100%,0 0,100% 0);bottom:-1px}.custom-pin-container.drag-mode{cursor:move!important;animation:dragModePulse 2s ease-in-out infinite}@keyframes dragModePulse{0%,to{filter:drop-shadow(0 0 8px rgba(239,68,68,.6))}50%{filter:drop-shadow(0 0 20px rgba(239,68,68,1))}}.custom-pin-container.dragging{opacity:.7;transform:translateY(-8px) scale(1.2) translateZ(0);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));cursor:move!important}.custom-pin-container.press-hold{animation:pressHoldPulse .6s ease-in-out infinite}@keyframes pressHoldPulse{0%,to{transform:scale(1.05);filter:brightness(1.1)}50%{transform:scale(1.08);filter:brightness(1.2)}}.custom-pin-container.drag-enabled{filter:drop-shadow(0 6px 16px rgba(34,197,94,.5));animation:dragReadyPulse 1.5s ease-in-out infinite}@keyframes dragReadyPulse{0%,to{transform:scale(1.05)}50%{transform:scale(1.1)}}.custom-pin-container.dragging{opacity:.8;transform:scale(1.15);filter:drop-shadow(0 12px 24px rgba(0,0,0,.4));z-index:1000;cursor:-webkit-grabbing!important;cursor:grabbing!important}.admin-highlight-badge{position:absolute;top:-8px;right:-8px;width:20px;height:20px;z-index:100}.highlight-ring{background:#EF4444;box-shadow:0 0 20px rgba(239,68,68,.8),0 0 40px rgba(239,68,68,.4);animation:highlightGlow 2s ease-in-out infinite}.highlight-pulse,.highlight-ring{position:absolute;width:100%;height:100%;border-radius:50%}.highlight-pulse{border:2px solid #ef4444;animation:highlightPulse 2s ease-out infinite}@keyframes highlightGlow{0%,to{transform:scale(1);box-shadow:0 0 20px rgba(239,68,68,.8),0 0 40px rgba(239,68,68,.4)}50%{transform:scale(1.1);box-shadow:0 0 30px rgba(239,68,68,1),0 0 60px rgba(239,68,68,.6)}}@keyframes highlightPulse{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}.pin-modal-portal{position:fixed;pointer-events:auto;animation:modalFadeIn .2s ease-out;filter:drop-shadow(0 8px 24px rgba(0,0,0,.15));z-index:999999}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-100%) scale(.9)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.pin-modal-arrow{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--header-color,white);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));z-index:1}.pin-modal-content{position:relative;background:white;border-radius:16px;overflow:hidden;min-width:260px;max-width:320px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.12),0 16px 48px rgba(0,0,0,.08);margin-bottom:12px;border:1px solid rgba(255,255,255,.8)}.pin-modal-close{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;color:white;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;padding:0}.pin-modal-close:hover{background:rgba(0,0,0,.7);transform:scale(1.1)}.pin-modal-close:active{transform:scale(.95)}.pin-modal-visibility-toggle{position:absolute;top:8px;right:44px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;padding:0}.pin-modal-visibility-toggle:hover{background:rgba(0,0,0,.7);transform:scale(1.1)}.pin-modal-visibility-toggle:active{transform:scale(.95)}.pin-modal-visibility-toggle.hidden-active{background:rgba(239,68,68,.6)}.pin-modal-visibility-toggle.hidden-active:hover{background:rgba(239,68,68,.8)}.pin-modal-header{position:relative;padding:16px;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--header-color,#666) 0,var(--header-color,#666) 100%);color:white;overflow:hidden}.pin-modal-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:headerShine 3s ease-in-out infinite}@keyframes headerShine{0%{left:-100%}50%{left:100%}to{left:100%}}.pin-modal-icon{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));z-index:1;position:relative}.pin-modal-category{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.95;z-index:1;position:relative}.pin-modal-body{padding:16px}.pin-modal-description{font-size:13px;line-height:1.5;color:#4B5563;margin:0 0 12px;padding:12px;background:#F9FAFB;border-radius:8px;border-left:3px solid var(--header-color)}.pin-modal-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pin-modal-title{margin:0;font-size:16px;font-weight:700;color:#1f2937;line-height:1.3;flex:1 1}.pin-modal-title-row .pin-modal-status{flex-shrink:0;margin:0}.pin-modal-info{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.pin-modal-info-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;transition:all .2s ease}.info-icon{width:18px;height:18px;color:#9ca3af;flex-shrink:0}.pin-modal-value{color:#374151;line-height:1.5;flex:1 1;font-size:13px;font-weight:500}.unknown-hours{color:#9ca3af;font-style:italic}.pin-modal-link{color:#3b82f6;text-decoration:none;transition:color .2s}.pin-modal-link:hover{color:#2563eb;text-decoration:underline}.pin-modal-status{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.open-status{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;box-shadow:0 0 10px rgba(16,185,129,.2)}.open-status .status-dot{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.6);animation:statusPulse 2s ease-in-out infinite}.closed-status{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 0 10px rgba(239,68,68,.15)}.closed-status .status-dot{background:#dc2626}.pin-modal-actions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin-top:16px}.pin-modal-actions:has(.reservation-action):has(.order-action){grid-template-columns:1fr 1fr}.pin-modal-actions .pin-modal-action.primary{grid-column:1/-1}.pin-modal-action{width:100%;padding:9px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:6px}.pin-modal-action.primary{color:white;box-shadow:0 1px 3px rgba(0,0,0,.1)}.pin-modal-action.secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;box-shadow:none;font-size:12px;padding:7px 12px}.pin-modal-action.secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.pin-modal-action.primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .4s ease}.pin-modal-action.primary:hover:before{left:100%}.pin-modal-action.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.15)}.pin-modal-action:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}.pin-modal-action:disabled{opacity:.6;cursor:not-allowed}.pin-modal-action.reservation-action{background:#8B5CF6;color:white;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;padding:9px 14px;box-shadow:0 2px 8px rgba(139,92,246,.3)}.pin-modal-action.reservation-action:hover:not(:disabled){background:#7C3AED;transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,92,246,.4)}.pin-modal-action.order-action{background:#10B981;color:white;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;padding:9px 14px;box-shadow:0 2px 8px rgba(16,185,129,.3)}.pin-modal-action.order-action:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.4)}.pin-modal-action.event-action{background:linear-gradient(135deg,#667eea,#764ba2);color:white;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;padding:9px 14px;box-shadow:0 2px 8px rgba(102,126,234,.3);position:relative;overflow:hidden}.pin-modal-action.event-action:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.pin-modal-action.event-action:hover:not(:disabled):before{left:100%}.pin-modal-action.event-action:hover:not(:disabled){box-shadow:0 3px 12px rgba(102,126,234,.4);transform:translateY(-1px)}.pin-modal-action.event-action svg{flex-shrink:0}.admin-toggle{font-size:12px!important;padding:6px 12px!important}.admin-actions{flex-direction:row;gap:6px}.admin-actions .pin-modal-action{flex:1 1;font-size:12px;padding:7px 10px}.analyze-button{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:white!important;font-weight:500!important;font-size:12px!important;padding:7px 10px!important;position:relative;overflow:hidden}.analyze-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.analyze-button:hover:not(:disabled):before{width:300px;height:300px}.analyze-button:disabled{opacity:.6;cursor:not-allowed}.admin-edit-input{width:100%;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:600;color:#1f2937;background:#f9fafb;transition:all .2s}.admin-edit-input:focus{outline:none;border-color:#0066ff;background:white;box-shadow:0 0 0 3px rgba(0,102,255,.1)}.admin-category-select{flex:1 1;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:600;color:#1f2937;background:#f9fafb;cursor:pointer;transition:all .2s}.admin-category-select:focus{outline:none;border-color:#0066ff;background:white;box-shadow:0 0 0 3px rgba(0,102,255,.1)}.admin-category-select.secondary{opacity:.8;font-size:13px}.analysis-progress-container{margin-top:12px;padding:12px;background:#f9fafb;border-radius:8px;border:2px solid #e0e7ff}.analysis-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.analysis-progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#6366f1 50%,#8b5cf6);background-size:200% 100%;border-radius:4px;transition:width .3s ease;animation:progressShimmer 2s linear infinite}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.analysis-progress-text{margin:0;font-size:12px;font-weight:500;color:#6366f1;text-align:center}@media (max-width:768px){.pin-modal-content{max-width:350px}.pin-modal-title{font-size:16px}.pin-modal-value{font-size:12px}.pin-modal-description{font-size:12px;padding:10px}}@media (prefers-color-scheme:dark){.pin-modal-description{background:#1F2937;color:#D1D5DB}}.analysis-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000000;padding:20px;animation:fadeIn .2s ease}.analysis-modal{background:white;border-radius:16px;padding:24px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease}.analysis-modal h3{margin:0 0 16px;font-size:20px;font-weight:700;color:#1f2937}.analysis-confidence{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:white;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:20px}.analysis-summary{display:flex;flex-direction:column;gap:12px;margin-top:16px}.analysis-item{display:flex;align-items:center;padding:10px 12px;background:#f9fafb;border-radius:8px;border-left:3px solid #10b981}.analysis-item span{font-size:14px;color:#374151;font-weight:500}.analysis-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.analysis-section:last-of-type{border-bottom:none}.analysis-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.analysis-description{margin:0;font-size:14px;line-height:1.6;color:#374151}.analysis-multilang{display:flex;flex-direction:column;gap:16px}.analysis-lang-item{padding:12px;background:#f9fafb;border-radius:8px;border-left:3px solid #8b5cf6}.analysis-lang-item strong{display:block;margin-bottom:6px;font-size:13px;color:#6366f1}.analysis-lang-item .analysis-description{margin-top:4px;padding-left:8px;font-size:13px;line-height:1.5}.analysis-value{margin:0;font-size:14px;font-weight:500;color:#1f2937}.analysis-hours-list{margin:0;padding-left:20px;list-style:none}.analysis-hours-list li{font-size:13px;color:#374151;margin-bottom:4px;position:relative}.analysis-hours-list li:before{content:"•";position:absolute;left:-15px;color:#8b5cf6;font-weight:700}.analysis-hours-list .analysis-more{color:#6b7280;font-style:italic}.analysis-error{color:#dc2626;margin:12px 0;background:#fee2e2;border-left:3px solid #dc2626}.analysis-error,.analysis-success-message{font-size:14px;padding:12px;border-radius:8px}.analysis-success-message{color:#10b981;font-weight:500;margin:0 0 16px;background:#d1fae5;border-left:3px solid #10b981}.translations-preview{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.translation-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f9fafb;border-radius:6px;border-left:3px solid #667eea}.translation-lang{font-size:11px;font-weight:700;color:#667eea;text-transform:uppercase;letter-spacing:.5px}.translation-text{font-size:13px;color:#374151;line-height:1.5}.analysis-modal-actions{display:flex;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.analysis-modal-actions .btn-primary,.analysis-modal-actions .btn-secondary{flex:1 1;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.analysis-modal-actions .btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.analysis-modal-actions .btn-secondary:hover:not(:disabled){background:#e5e7eb}.analysis-modal-actions .btn-primary{color:white;box-shadow:0 2px 8px rgba(139,92,246,.3)}.analysis-modal-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,92,246,.4)}.analysis-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.upcoming-events-section{width:100%;margin-top:-4px!important}.upcoming-events-list{background:#f9fafb;border-radius:8px;padding:12px;margin-top:8px}.events-list-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:#374151;margin-bottom:12px}.events-list-header svg{color:#667eea}.event-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb;gap:12px}.event-list-item:last-of-type{border-bottom:none;padding-bottom:4px}.event-name{font-size:13px;color:#1f2937;flex:1 1;overflow:hidden;text-overflow:ellipsis}.event-date,.event-name{font-weight:500;white-space:nowrap}.event-date{font-size:11px;color:#6b7280}.event-date.today{color:#dc2626;font-weight:600}.event-list-more{font-size:12px;color:#9ca3af;font-style:italic;margin-top:8px;text-align:center}.pin-modal-action.event-action-secondary{background:linear-gradient(135deg,#667eea,#764ba2);margin-top:12px;width:100%;color:white;font-weight:500}.pin-modal-action.event-action-secondary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.customer-reservation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:250;padding:20px;animation:fadeIn .2s ease}.customer-reservation-modal{background:white;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease;box-sizing:border-box}.customer-reservation-modal *,.customer-reservation-modal :after,.customer-reservation-modal :before{box-sizing:border-box}.customer-reservation-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb;position:-webkit-sticky;position:sticky;top:0;background:white;z-index:1}.customer-reservation-header h2{margin:0;font-size:24px;font-weight:700;color:#111827}.customer-reservation-close{background:none;border:none;padding:8px;cursor:pointer;color:#6B7280;transition:all .2s;border-radius:8px}.customer-reservation-close:hover{background:#F3F4F6;color:#111827}.customer-reservation-venue{padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:white}.customer-reservation-venue h3{margin:0 0 4px;font-size:18px;font-weight:600}.customer-reservation-venue p{margin:0;font-size:14px;opacity:.9}.customer-reservation-error{margin:16px 24px;padding:12px 16px;background:#FEE2E2;border:1px solid #ef4444;border-radius:8px;color:#991B1B;display:flex;align-items:center;gap:8px;font-size:14px}.customer-reservation-error svg{flex-shrink:0}.customer-reservation-form{padding:24px}.customer-reservation-field{margin-bottom:20px}.customer-reservation-field label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.customer-reservation-field input,.customer-reservation-field select,.customer-reservation-field textarea{width:100%;max-width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;color:#1f2937;background:white;transition:all .2s;box-sizing:border-box}.customer-reservation-field input:focus,.customer-reservation-field select:focus,.customer-reservation-field textarea:focus{outline:none;border-color:#8B5CF6;box-shadow:0 0 0 3px rgba(139,92,246,.1)}.date-select,.item-select{font-weight:500;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238B5CF6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:48px;cursor:pointer}.date-select:hover,.item-select:hover{border-color:#8B5CF6;background-color:#faf5ff}.guest-count-input{font-size:18px;font-weight:600;text-align:center;border:2px solid #8b5cf6;background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.guest-count-input:focus{border-color:#7C3AED;box-shadow:0 0 0 4px rgba(139,92,246,.15)}.field-hint{margin-top:6px;color:#6b7280}.calendar-hint,.field-hint{display:block;font-size:13px;font-style:italic}.calendar-hint{color:#6B7280;margin:8px 0 12px;opacity:.8}.selected-date-display{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#8B5CF6,#6366F1);border-radius:16px;color:white;margin-bottom:16px;box-shadow:0 4px 12px rgba(139,92,246,.3);animation:selectedPulse 2s ease-in-out infinite}.selected-date-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:rgba(255,255,255,.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.selected-date-info{display:flex;flex-direction:column;gap:4px}.selected-date-day{font-size:24px;font-weight:700;line-height:1.2;text-transform:capitalize}.selected-date-full{font-size:16px;font-weight:500;opacity:.9;text-transform:capitalize}.calendar-scroll-container{position:relative;margin-top:8px;width:100%;overflow:hidden}.calendar-scroll{display:flex;gap:8px;overflow-x:scroll;overflow-y:hidden;padding:8px 0 16px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;width:100%;cursor:-webkit-grab;cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;scroll-snap-type:x mandatory;scroll-padding:0 8px;scrollbar-width:thin;scrollbar-color:#8B5CF6 #f3f4f6}.calendar-scroll:active{cursor:-webkit-grabbing;cursor:grabbing;scroll-behavior:auto}.calendar-scroll::-webkit-scrollbar{height:8px}.calendar-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.calendar-scroll::-webkit-scrollbar-thumb{background:#8B5CF6;border-radius:4px}.calendar-scroll::-webkit-scrollbar-thumb:hover{background:#7C3AED}.calendar-day-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;max-width:80px;padding:16px 12px;border:2px solid #e5e7eb;border-radius:12px;background:white;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:13px;color:#1f2937;flex-shrink:0;flex-grow:0;-moz-user-select:none;user-select:none;-webkit-user-select:none;pointer-events:auto;scroll-snap-align:start;scroll-snap-stop:normal}.calendar-day-compact:hover:not(:disabled){border-color:#8B5CF6;background:#faf5ff;transform:translateY(-4px) scale(1.05);box-shadow:0 8px 16px rgba(139,92,246,.25)}.calendar-day-compact.selected{border-color:#8B5CF6;background:linear-gradient(135deg,#8B5CF6,#7C3AED);color:white;box-shadow:0 8px 24px rgba(139,92,246,.5);transform:scale(1.1);animation:selectedPulse 2s ease-in-out infinite}@keyframes selectedPulse{0%,to{box-shadow:0 8px 24px rgba(139,92,246,.5)}50%{box-shadow:0 8px 32px rgba(139,92,246,.7)}}.calendar-day-compact.unavailable{opacity:.3;cursor:not-allowed;background:#f3f4f6}.calendar-day-compact .day-name{font-size:11px;text-transform:uppercase;font-weight:600;opacity:.7;margin-bottom:6px}.calendar-day-compact .day-number{font-size:20px;font-weight:700;margin-bottom:4px}.calendar-day-compact .month-name{font-size:10px;text-transform:uppercase;opacity:.6}.calendar-day-compact.selected .day-name,.calendar-day-compact.selected .day-number,.calendar-day-compact.selected .month-name{opacity:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-top:8px;width:100%;box-sizing:border-box}.calendar-day{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border:2px solid #e5e7eb;border-radius:8px;background:white;cursor:pointer;transition:all .2s;font-size:13px;color:#1f2937}.calendar-day:hover:not(:disabled){border-color:#8B5CF6;background:#faf5ff;transform:translateY(-2px);box-shadow:0 4px 8px rgba(139,92,246,.15)}.calendar-day.selected{border-color:#8B5CF6;background:linear-gradient(135deg,#8B5CF6,#7C3AED);color:white;box-shadow:0 4px 12px rgba(139,92,246,.3)}.calendar-day.unavailable{opacity:.3;cursor:not-allowed;background:#f3f4f6}.calendar-day .day-name{font-size:11px;text-transform:uppercase;font-weight:600;opacity:.7;margin-bottom:4px}.calendar-day .day-number{font-size:18px;font-weight:700;margin-bottom:2px}.calendar-day .month-name{font-size:10px;text-transform:uppercase;opacity:.6}.calendar-day.selected .day-name,.calendar-day.selected .day-number,.calendar-day.selected .month-name{opacity:1}.chair-count-single-selector{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px;padding:24px;background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-radius:16px;border:2px solid #e9d5ff}.chair-count-decrement,.chair-count-increment{width:48px;height:48px;border:2px solid #8b5cf6;border-radius:12px;background:white;color:#8B5CF6;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chair-count-decrement:hover:not(:disabled),.chair-count-increment:hover:not(:disabled){background:#8B5CF6;color:white;transform:scale(1.1);box-shadow:0 4px 12px rgba(139,92,246,.3)}.chair-count-decrement:active:not(:disabled),.chair-count-increment:active:not(:disabled){transform:scale(.95)}.chair-count-decrement:disabled,.chair-count-increment:disabled{opacity:.3;cursor:not-allowed;border-color:#d1d5db;color:#9ca3af}.chair-count-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 40px;background:white;border:3px solid #8b5cf6;border-radius:16px;box-shadow:0 8px 24px rgba(139,92,246,.2);min-width:180px}.chair-count-display svg{color:#8B5CF6;margin-bottom:12px;opacity:.8}.chair-count-number{font-size:48px;font-weight:700;color:#8B5CF6;line-height:1;margin-bottom:4px}.chair-count-label{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.chair-count-selector{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:8px}.chair-count-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;border:2px solid #e5e7eb;border-radius:12px;background:white;cursor:pointer;transition:all .2s;gap:8px;color:#1f2937}.chair-count-btn:hover{border-color:#8B5CF6;background:#faf5ff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,92,246,.15)}.chair-count-btn.selected{border-color:#8B5CF6;background:linear-gradient(135deg,#8B5CF6,#7C3AED);color:white;box-shadow:0 4px 16px rgba(139,92,246,.3)}.chair-count-btn svg{opacity:.6}.chair-count-btn.selected svg{opacity:1}.chair-count-btn span{font-size:24px;font-weight:700}@media (max-width:768px){.selected-date-display{gap:16px;padding:20px 24px}.selected-date-icon{width:56px;height:56px}.selected-date-icon svg{width:28px;height:28px}.selected-date-day{font-size:20px}.selected-date-full{font-size:14px}.calendar-day-compact{min-width:70px;max-width:70px;padding:14px 10px}.calendar-day-compact .day-number{font-size:18px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{padding:8px 2px;font-size:11px}.calendar-day .day-name{font-size:9px}.calendar-day .day-number{font-size:14px}.calendar-day .month-name{font-size:9px}.chair-count-single-selector{gap:16px;padding:20px 16px}.chair-count-decrement,.chair-count-increment{width:44px;height:44px}.chair-count-display{padding:20px 32px;min-width:150px}.chair-count-number{font-size:40px}.chair-count-display svg{width:40px;height:40px}.chair-count-selector{grid-template-columns:repeat(3,1fr);gap:8px}.chair-count-btn{padding:14px 8px}.chair-count-btn span{font-size:20px}.customer-reservation-form{padding:16px}.customer-reservation-header{padding:20px 16px 12px}.customer-reservation-header h2{font-size:20px}.customer-reservation-timeslots{grid-template-columns:repeat(2,1fr);gap:6px}}.customer-reservation-field textarea{resize:vertical;min-height:80px}.customer-reservation-timeslots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-top:8px;width:100%;box-sizing:border-box}.customer-reservation-timeslot{padding:12px;border:2px solid #e5e7eb;background:white;color:#1f2937;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.customer-reservation-timeslot:hover:not(.booked){border-color:#8B5CF6;background:#faf5ff;color:#1f2937;transform:translateY(-2px)}.customer-reservation-timeslot.selected{border-color:#8B5CF6;background:linear-gradient(135deg,#8B5CF6,#7C3AED);color:white;box-shadow:0 4px 12px rgba(139,92,246,.3)}.customer-reservation-timeslot.booked{background:#F3F4F6;border-color:#E5E7EB;color:#9CA3AF;cursor:not-allowed;text-decoration:line-through;opacity:.5}.customer-reservation-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.customer-reservation-cancel,.customer-reservation-submit{flex:1 1;padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.customer-reservation-cancel{background:#F3F4F6;color:#374151}.customer-reservation-cancel:hover{background:#E5E7EB}.customer-reservation-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:white}.customer-reservation-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.customer-reservation-submit:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.customer-reservation-overlay{padding:0;align-items:flex-end}.customer-reservation-modal{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0;animation:slideUpMobile .3s ease}.customer-reservation-header h2{font-size:18px}.customer-reservation-form{padding:12px}.customer-reservation-field{margin-bottom:16px}.customer-reservation-field label{font-size:13px}.customer-reservation-field input,.customer-reservation-field select,.customer-reservation-field textarea{padding:10px 12px;font-size:14px}.selected-date-display{gap:12px;padding:16px 20px;margin:12px 0}.selected-date-icon{width:48px;height:48px}.selected-date-icon svg{width:24px;height:24px}.selected-date-day{font-size:18px}.selected-date-full{font-size:13px}.calendar-day-compact{min-width:64px;max-width:64px;padding:12px 8px}.calendar-day-compact .day-name{font-size:10px;margin-bottom:4px}.calendar-day-compact .day-number{font-size:16px;margin-bottom:2px}.calendar-day-compact .month-name{font-size:9px}.calendar-grid{gap:3px}.calendar-day{padding:6px 1px;border-width:1px}.calendar-day .day-name{font-size:8px}.calendar-day .day-number{font-size:12px}.calendar-day .month-name{font-size:8px}.chair-count-single-selector{gap:12px;padding:16px 12px}.chair-count-decrement,.chair-count-increment{width:40px;height:40px}.chair-count-decrement svg,.chair-count-increment svg{width:16px;height:16px}.chair-count-display{padding:16px 24px;min-width:120px}.chair-count-display svg{width:36px;height:36px;margin-bottom:8px}.chair-count-number{font-size:36px}.chair-count-label{font-size:12px}.chair-count-selector{gap:6px}.chair-count-btn{padding:12px 6px}.chair-count-btn span{font-size:18px}.customer-reservation-timeslots{grid-template-columns:repeat(2,1fr);gap:6px}.customer-reservation-timeslot{padding:10px 8px;font-size:13px}.customer-reservation-actions{flex-direction:column;gap:8px;padding-top:16px;margin-top:16px}.customer-reservation-cancel,.customer-reservation-submit{padding:12px 20px;font-size:15px}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.detail-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:200;animation:backdropFadeIn .3s ease}@keyframes backdropFadeIn{0%{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.detail-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:201;background:white;border-radius:20px;box-shadow:0 25px 70px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.08);width:90%;max-width:600px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.detail-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.95);color:#1F2937;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.12)}.detail-modal-close:hover{background:white;transform:scale(1.1) rotate(90deg);box-shadow:0 4px 12px rgba(0,0,0,.18)}.detail-modal-header{padding:16px 24px;color:white;position:relative;overflow:hidden}.detail-modal-header.event-header{padding:18px 24px 16px}.detail-modal-venue{margin:6px 0 0;font-size:13px;font-weight:500;opacity:.9;text-align:center;padding-right:48px}.detail-modal-header-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,0) 50%,rgba(0,0,0,.1));animation:gradientShift 8s ease-in-out infinite}.detail-modal-header-gradient.dual-category{background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);animation:dualCategoryFlow 6s ease-in-out infinite;background-size:200% 200%}@keyframes gradientShift{0%,to{transform:translateX(-20%) scale(1.2);opacity:.6}50%{transform:translateX(20%) scale(1.3);opacity:.8}}@keyframes dualCategoryFlow{0%,to{background-position:0 50%;opacity:.9}50%{background-position:100% 50%;opacity:1}}.detail-modal-header-content{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.detail-modal-category{display:inline-block;padding:4px 12px;background:rgba(255,255,255,.25);border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.detail-modal-separator{color:rgba(255,255,255,.6);font-size:14px;flex-shrink:0}.detail-modal-title{margin:0;font-size:20px;font-weight:800;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.25);flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-modal-hosted-by{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:20px;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-left:8px;white-space:nowrap;flex-shrink:0}.detail-modal-hosted-by svg{flex-shrink:0;opacity:.9}.detail-modal-content{padding:24px;overflow-y:auto;flex:1 1;position:relative}.detail-modal-content>*{animation:fadeInUp .4s cubic-bezier(.34,1.25,.64,1) forwards}.detail-modal-content>.detail-modal-section:first-child{display:none}.detail-modal-section{margin-bottom:24px}.detail-modal-section:first-child{margin-bottom:20px}.detail-modal-section-title{font-size:16px;font-weight:700;color:#1F2937;margin:0 0 12px}.detail-modal-description{font-size:15px;line-height:1.65;color:#374151;margin:0;padding:0;font-weight:400}.event-description-banner{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;box-shadow:0 2px 8px rgba(102,126,234,.25)}.event-description-banner svg{flex-shrink:0}.detail-modal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.detail-modal-info-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#F9FAFB;border-radius:12px;border:1px solid #f3f4f6;transition:all .2s ease}.detail-modal-info-item:hover{background:#F3F4F6;border-color:#E5E7EB;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.04)}.detail-modal-info-icon-wrapper{width:36px;height:36px;border-radius:10px;background:white;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#6B7280;box-shadow:0 1px 3px rgba(0,0,0,.06)}.detail-modal-info-label{font-size:11px;font-weight:600;color:#6B7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-modal-info-value{font-size:14px;font-weight:600;color:#1F2937;display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;animation:statusPulse 2s ease-in-out infinite}.status-dot-open{background:#10B981;box-shadow:0 0 0 0 rgba(16,185,129,.7)}.status-dot-closed{background:#EF4444;box-shadow:0 0 0 0 rgba(239,68,68,.7);animation:none}@keyframes statusPulse{0%,to{box-shadow:0 0 0 0 rgba(16,185,129,.7)}50%{box-shadow:0 0 0 4px rgba(16,185,129,0)}}.status-text-open{color:#059669;font-weight:600}.status-text-closed{color:#DC2626;font-weight:600}.status-hours{color:#6B7280;font-weight:500}.event-timing-item{grid-column:1/-1;background:linear-gradient(135deg,#EEF2FF,#E0E7FF)!important;border:1.5px solid #c7d2fe!important;display:flex!important;align-items:flex-start!important;gap:12px!important}.event-timing-item .event-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:white;box-shadow:0 2px 8px rgba(102,126,234,.3)}.event-timing-main{flex:1 1;min-width:0}.event-timing{display:flex;flex-direction:column;gap:4px;width:100%}.event-date{font-size:15px;font-weight:700;color:#1F2937;text-transform:capitalize;letter-spacing:.3px}.event-time{font-size:22px;font-weight:800;color:#667eea;letter-spacing:.5px;text-shadow:0 1px 2px rgba(102,126,234,.2)}.event-timing-location{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:8px 12px;background:white;border-radius:10px;border:1px solid #e5e7eb;min-width:140px;max-width:180px}.event-timing-location svg{color:#667eea;flex-shrink:0}.event-timing-location span{font-size:12px;font-weight:600;color:#4B5563;text-align:right;line-height:1.4}.detail-modal-info-item-rating{grid-column:1/-1;padding:16px}.detail-modal-rating-display{display:flex;align-items:center;gap:16px}.detail-modal-rating-number{font-size:36px;font-weight:800;color:#1F2937;line-height:1}.detail-modal-rating-content{display:flex;flex-direction:column;gap:4px}.detail-modal-rating-stars{display:flex;gap:4px}.detail-modal-rating-stars svg{display:inline-block}.detail-modal-rating-label{font-size:11px;color:#6B7280;font-weight:500}.detail-modal-opening-hours{background:#F9FAFB;border-radius:10px;padding:12px;border:1px solid #f3f4f6}.detail-modal-opening-hours-row{padding:8px 10px;font-size:13px;color:#4B5563;display:flex;align-items:center;border-bottom:1px solid #e5e7eb;font-weight:500}.detail-modal-opening-hours-row:last-child{border-bottom:none}.detail-modal-actions{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #f3f4f6}.detail-modal-action-primary{flex:2 1;padding:14px 28px;border:none;border-radius:12px;color:white;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px rgba(0,0,0,.12);position:relative;overflow:hidden}.detail-modal-action-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.detail-modal-action-primary:hover:before{left:100%}.detail-modal-action-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.detail-modal-action-primary:active{transform:translateY(0)}.detail-modal-action-secondary{flex:1 1;padding:14px 24px;border:1.5px solid #e5e7eb;border-radius:12px;background:white;color:#6B7280;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease}.detail-modal-action-secondary:hover{background:#F9FAFB;border-color:#D1D5DB;color:#374151}.detail-modal-action-admin{flex:1 1;padding:14px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#3B82F6,#2563EB);color:white;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px rgba(59,130,246,.25)}.detail-modal-action-admin:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(59,130,246,.35);background:linear-gradient(135deg,#2563EB,#1D4ED8)}.detail-modal-action-admin:active{transform:translateY(0)}.detail-modal-action-reservation{flex:1 1;padding:14px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#8B5CF6,#7C3AED);color:white;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px rgba(139,92,246,.25);display:flex;align-items:center;justify-content:center}.detail-modal-action-reservation:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(139,92,246,.35);background:linear-gradient(135deg,#7C3AED,#6D28D9)}.detail-modal-action-reservation:active{transform:translateY(0)}.detail-modal-action-event{flex:1 1;padding:14px 24px;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 12px rgba(102,126,234,.35);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px}.detail-modal-action-event:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.detail-modal-action-event:hover:not(:disabled):before{left:100%}.detail-modal-action-event:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px rgba(102,126,234,.45)}.detail-modal-action-event:active:not(:disabled){transform:translateY(0)}.detail-modal-action-event:disabled{opacity:.6;cursor:not-allowed}.detail-modal-action-event.attending{background:linear-gradient(135deg,#10B981,#059669);box-shadow:0 3px 12px rgba(16,185,129,.35)}.detail-modal-action-event.attending:hover:not(:disabled){box-shadow:0 5px 18px rgba(16,185,129,.45)}.event-free-badge{background:linear-gradient(135deg,#D1FAE5,#A7F3D0);border:1.5px solid #10b981;color:#047857;border-radius:10px;box-shadow:0 2px 8px rgba(16,185,129,.2)}.event-free-badge,.event-paid-badge{display:inline-flex;align-items:center;padding:6px 14px;font-size:13px;font-weight:800;letter-spacing:.3px}.event-paid-badge{background:linear-gradient(135deg,#EDE9FE,#DDD6FE);border:1.5px solid #8b5cf6;color:#6D28D9;border-radius:10px;box-shadow:0 2px 8px rgba(139,92,246,.25);animation:paidGlow 2s ease-in-out infinite}@keyframes paidGlow{0%,to{box-shadow:0 2px 8px rgba(139,92,246,.25)}50%{box-shadow:0 4px 16px rgba(139,92,246,.45)}}.event-access-item.access-free-icon .detail-modal-info-icon-wrapper{background:linear-gradient(135deg,#10B981,#059669);color:white;box-shadow:0 2px 8px rgba(16,185,129,.3)}.event-access-item.access-paid-icon .detail-modal-info-icon-wrapper{background:linear-gradient(135deg,#8B5CF6,#7C3AED);color:white;box-shadow:0 2px 8px rgba(139,92,246,.3);animation:paidIconGlow 2s ease-in-out infinite}@keyframes paidIconGlow{0%,to{box-shadow:0 2px 8px rgba(139,92,246,.3)}50%{box-shadow:0 4px 12px rgba(139,92,246,.5)}}.detail-modal-spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-color-scheme:dark){.detail-modal{background:#1F2937;box-shadow:0 25px 70px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.1)}.detail-modal-close{background:rgba(31,41,55,.95);color:#F3F4F6}.detail-modal-close:hover{background:#1F2937}.detail-modal-info-item{background:#111827;border-color:#1F2937}.detail-modal-info-item:hover{background:#0F172A;border-color:#374151}.detail-modal-info-icon-wrapper{background:#1F2937;color:#9CA3AF}.detail-modal-info-label{color:#9CA3AF}.detail-modal-info-value,.detail-modal-rating-number,.detail-modal-section-title{color:#F3F4F6}.detail-modal-description{color:#D1D5DB}.detail-modal-opening-hours{background:#111827;border-color:#1F2937}.detail-modal-opening-hours-row{color:#9CA3AF;border-bottom-color:#374151}.status-text-open{color:#10B981}.status-text-closed{color:#EF4444}.detail-modal-actions{border-top-color:#374151}.detail-modal-action-secondary{background:#111827;border-color:#374151;color:#9CA3AF}.detail-modal-action-secondary:hover{background:#0F172A;border-color:#4B5563;color:#D1D5DB}.detail-modal-action-admin{background:linear-gradient(135deg,#3B82F6,#2563EB);box-shadow:0 3px 10px rgba(59,130,246,.3)}.detail-modal-action-admin:hover{background:linear-gradient(135deg,#2563EB,#1D4ED8);box-shadow:0 5px 15px rgba(59,130,246,.4)}}@media (max-width:768px){.detail-modal{width:100%;max-width:100%;max-height:100vh;height:100vh;border-radius:0;top:0;left:0;transform:none}.detail-modal-header{padding:calc(12px + env(safe-area-inset-top, 0px)) 16px 12px}.detail-modal-venue{margin-top:4px;font-size:13px;padding-right:40px}.detail-modal-header-content{flex-wrap:wrap;gap:8px;justify-content:center}.detail-modal-separator,.detail-modal-title{display:none}.detail-modal-hosted-by{width:100%;justify-content:center;margin-left:0;margin-top:4px;font-size:11px;padding:3px 10px}.detail-modal-category{font-size:10px;padding:4px 12px}.detail-modal-content{padding:0 0 calc(160px + env(safe-area-inset-bottom, 0px));overflow-y:auto}.detail-modal-content>.detail-modal-section:first-child{display:block;margin-bottom:0;background:linear-gradient(135deg,#F9FAFB,#F3F4F6);padding:16px;border-bottom:1px solid #e5e7eb}.detail-modal-content>.detail-modal-section:first-child .detail-modal-title{font-size:22px;font-weight:800;color:#1F2937;line-height:1.3;margin:0;display:block;white-space:normal;overflow:visible;text-overflow:clip;padding-right:0}.detail-modal-content>.detail-modal-section:not(:first-child){padding-left:16px;padding-right:16px}.detail-modal-section{margin-bottom:14px}.detail-modal-description{font-size:14px;line-height:1.6;display:block}.event-description-banner{padding:6px 10px;font-size:11px;margin-bottom:10px;border-radius:8px}.detail-modal-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;margin-bottom:12px}.detail-modal-info-item{padding:10px;min-height:48px}.detail-modal-info-icon-wrapper{width:28px;height:28px;border-radius:8px}.detail-modal-info-icon-wrapper svg{width:16px;height:16px}.detail-modal-info-label{font-size:10px;margin-bottom:2px}.detail-modal-info-value{font-size:13px;gap:4px}.event-timing-item{padding:8px!important;grid-column:1/-1!important;display:flex!important;flex-direction:column!important;gap:10px!important}.event-timing-main{width:100%}.event-date{font-size:13px}.event-time{font-size:16px;text-shadow:none}.event-timing-location{min-width:100%;max-width:100%;padding:10px 12px;gap:6px;align-items:flex-start;flex-direction:row;border-radius:8px}.event-timing-location svg{margin-top:2px}.event-timing-location span{font-size:13px;text-align:left;flex:1 1}.event-free-badge,.event-paid-badge{padding:4px 8px;font-size:11px;border-radius:6px;white-space:nowrap}.detail-modal-info-item-rating{padding:12px}.detail-modal-rating-display{gap:10px}.detail-modal-rating-number{font-size:28px}.detail-modal-rating-stars svg{width:14px;height:14px}.detail-modal-section-title{font-size:14px;margin-bottom:8px}.detail-modal-opening-hours{padding:8px}.detail-modal-opening-hours-row{padding:6px 8px;font-size:12px}.detail-modal-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));background:linear-gradient(0deg,rgba(31,41,55,.98) 0,rgba(31,41,55,.95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1);z-index:10}.detail-modal-action-admin,.detail-modal-action-event,.detail-modal-action-primary{padding:12px 14px;font-size:14px;min-height:42px}.detail-modal-action-secondary{grid-column:1/-1;padding:10px 14px;min-height:40px;font-size:14px}.detail-modal-close{width:32px;height:32px;top:calc(10px + env(safe-area-inset-top, 0px));right:10px;font-size:20px}.upcoming-events-list-detail{gap:10px}.upcoming-event-card{padding:12px}.upcoming-event-name{font-size:14px}}@media (max-width:768px) and (prefers-color-scheme:dark){.detail-modal-content>.detail-modal-section:first-child{background:linear-gradient(135deg,#1F2937,#111827);border-bottom-color:#374151}.detail-modal-content>.detail-modal-section:first-child .detail-modal-title{color:#F3F4F6}}@media (max-width:480px){.detail-modal-content>.detail-modal-section:first-child .detail-modal-title{font-size:20px}}@media (max-width:926px) and (max-height:428px) and (orientation:landscape){.detail-modal{max-height:100vh}.detail-modal-header{padding:calc(16px + env(safe-area-inset-top, 0px)) 16px 16px}.detail-modal-header-content{gap:8px}.detail-modal-title{font-size:16px}.detail-modal-category{font-size:9px;padding:3px 8px}.detail-modal-separator{font-size:11px}.detail-modal-content{padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px))}.detail-modal-description{font-size:13px}.detail-modal-info-grid{gap:8px}.detail-modal-info-item{padding:10px}.detail-modal-info-icon-wrapper{width:28px;height:28px}.detail-modal-info-icon-wrapper svg{width:16px;height:16px}.detail-modal-info-label{font-size:9px}.detail-modal-info-value{font-size:12px}.detail-modal-rating-number{font-size:28px}.detail-modal-section-title{font-size:14px}.detail-modal-opening-hours{padding:8px}.detail-modal-opening-hours-row{padding:6px;font-size:11px}.detail-modal-actions{gap:8px;margin-top:14px;padding-top:14px}.detail-modal-action-admin,.detail-modal-action-primary,.detail-modal-action-secondary{padding:10px 20px;font-size:13px;min-height:40px}.detail-modal-close{width:30px;height:30px;font-size:20px;top:calc(8px + env(safe-area-inset-top, 0px));right:8px}}.upcoming-events-section{margin-top:20px}.detail-modal-section-title svg{vertical-align:middle;margin-right:8px;color:#667eea}.upcoming-events-list-detail{display:flex;flex-direction:column;gap:16px}.upcoming-event-card{background:#f9fafb;border-radius:12px;padding:16px;transition:all .2s ease;border:1px solid #e5e7eb}.upcoming-event-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:#667eea}.upcoming-event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.upcoming-event-name{font-size:16px;font-weight:600;color:#1f2937;margin:0;flex:1 1}.event-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.event-badge.badge-free{background:#d1fae5;color:#065f46}.event-badge.badge-paid{background:#fef3c7;color:#92400e}.upcoming-event-details{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.upcoming-event-attending,.upcoming-event-date{display:flex;align-items:center;gap:6px;font-size:14px;color:#6b7280}.upcoming-event-attending svg,.upcoming-event-date svg{color:#9ca3af}.upcoming-event-description{font-size:14px;color:#6b7280;margin:8px 0 0;line-height:1.5}.detail-modal-overlay.dark .upcoming-event-card{background:#111827;border-color:#374151}.detail-modal-overlay.dark .upcoming-event-card:hover{border-color:#667eea}.detail-modal-overlay.dark .upcoming-event-name{color:#f3f4f6}.detail-modal-overlay.dark .upcoming-event-attending,.detail-modal-overlay.dark .upcoming-event-date,.detail-modal-overlay.dark .upcoming-event-description{color:#9ca3af}.detail-modal-overlay.dark .event-badge.badge-free{background:rgba(16,185,129,.15);color:#10b981}.detail-modal-overlay.dark .event-badge.badge-paid{background:rgba(251,191,36,.15);color:#fbbf24}.detail-modal-info-item-menu{transition:all .2s ease}.detail-modal-info-item-menu:hover{transform:translateX(4px);opacity:.8}.detail-modal-menu-view-full{display:flex;flex-direction:column;gap:0;height:100%;overflow:hidden;animation:fadeInUp .4s cubic-bezier(.34,1.25,.64,1) forwards}.detail-modal-menu-title{font-size:22px;font-weight:700;color:#111827;margin:0}.detail-modal-menu-tabs{display:flex;gap:8px;padding:16px 0;border-bottom:2px solid #f3f4f6;margin-bottom:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#e5e7eb #f9fafb;-webkit-overflow-scrolling:touch;position:-webkit-sticky;position:sticky;top:0;background:white;z-index:10;flex-shrink:0}.detail-modal-menu-tabs::-webkit-scrollbar{height:6px}.detail-modal-menu-tabs::-webkit-scrollbar-track{background:#f9fafb;border-radius:3px}.detail-modal-menu-tabs::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}.detail-modal-menu-tabs::-webkit-scrollbar-thumb:hover{background:#d1d5db}.detail-modal-menu-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;position:relative;margin-bottom:-2px}.detail-modal-menu-tab:hover{color:#374151;background:#f9fafb}.detail-modal-menu-tab.active{color:inherit;font-weight:700}.menu-tab-count{background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:700;padding:2px 8px;border-radius:12px;min-width:24px;text-align:center}.detail-modal-menu-tab.active .menu-tab-count{background:currentColor;color:white;opacity:.9}.detail-modal-menu-content{animation:fadeInContent .3s ease;overflow-y:auto;flex:1 1;padding:24px 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#e5e7eb #f9fafb}.detail-modal-menu-content::-webkit-scrollbar{width:8px}.detail-modal-menu-content::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.detail-modal-menu-content::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.detail-modal-menu-content::-webkit-scrollbar-thumb:hover{background:#d1d5db}@keyframes fadeInContent{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-modal-menu-category-content{display:flex;flex-direction:column;gap:0}.detail-modal-menu-categories{display:flex;flex-direction:column;gap:32px;padding-bottom:20px}.detail-modal-menu-category-title{font-size:20px;font-weight:700;color:#111827;margin:0 0 8px;display:flex;align-items:center;gap:10px}.detail-modal-menu-category-description{font-size:15px;color:#6b7280;margin:0 0 20px;line-height:1.6;padding:16px;background:#f9fafb;border-left:3px solid;border-radius:8px}.detail-modal-menu-view{margin-top:24px}.detail-modal-menu-header{display:flex;flex-direction:column;gap:16px;margin-bottom:0;padding-bottom:20px;border-bottom:2px solid #f3f4f6;flex-shrink:0}.detail-modal-menu-header h2{display:flex;align-items:center;gap:10px;margin:0}.detail-modal-menu-back{background:transparent;border:2px solid #e5e7eb;color:#6b7280;padding:10px 18px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.detail-modal-menu-back svg{flex-shrink:0}.detail-modal-menu-back:hover{background:#f9fafb;border-color:currentColor;transform:translateX(-2px)}.detail-modal-menu-empty{text-align:center;padding:60px 20px;color:#9ca3af}.detail-modal-menu-empty svg{margin-bottom:16px}.detail-modal-menu-empty p{font-size:16px;margin:0}.detail-modal-menu-content{display:flex;flex-direction:column;gap:32px}.detail-modal-menu-category{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-modal-menu-category-header h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 8px}.detail-modal-menu-category-header p{font-size:14px;color:#6b7280;margin:0 0 16px}.detail-modal-menu-items{display:flex;flex-direction:column;gap:20px}.detail-modal-menu-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f9fafb;border-radius:12px;border:1px solid #f3f4f6;transition:all .2s ease}.detail-modal-menu-item:hover{background:#f3f4f6;border-color:#e5e7eb;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05)}.detail-modal-menu-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.detail-modal-menu-item-name-wrapper{display:flex;flex-direction:column;gap:8px;flex:1 1}.detail-modal-menu-item-name{font-size:17px;font-weight:600;color:#111827;margin:0;line-height:1.3}.detail-modal-menu-item-price{flex-shrink:0}.detail-modal-menu-item-description{margin:0}.detail-modal-menu-item-info{flex:1 1}.detail-modal-menu-item-badges{display:flex;gap:4px}.menu-badges{display:flex;gap:6px;align-items:center}.menu-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px}.menu-badge.menu-badge-vegetarian{background:#dcfce7;color:#166534}.menu-badge.menu-badge-vegan{background:#d1fae5;color:#065f46}.menu-badge.menu-badge-glutenfree{background:#fef3c7;color:#92400e}.menu-badge.menu-badge-halal{background:#dbeafe;color:#1e40af}.detail-modal-menu-item-description{font-size:14px;color:#6b7280;margin:0 0 8px;line-height:1.5}.detail-modal-menu-item-allergens{display:flex;align-items:center;gap:6px;font-size:12px;color:#ef4444;margin:0}.detail-modal-menu-item-allergens svg{flex-shrink:0}.detail-modal-menu-item-price{font-size:18px;font-weight:700;color:#111827;white-space:nowrap;padding-top:2px}@media (max-width:768px){.detail-modal-menu-header{gap:12px;padding-bottom:16px}.detail-modal-menu-title{font-size:19px}.detail-modal-menu-back{width:100%;text-align:center;justify-content:center}.detail-modal-menu-tabs{gap:6px;padding:12px 0;scrollbar-width:none}.detail-modal-menu-tabs::-webkit-scrollbar{display:none}.detail-modal-menu-content{padding:20px 0}.detail-modal-menu-tab{padding:10px 16px;font-size:14px}.menu-tab-count{font-size:11px;padding:2px 6px}.detail-modal-menu-item{padding:14px}.detail-modal-menu-item-top{gap:12px}.detail-modal-menu-item-name,.detail-modal-menu-item-price{font-size:16px}.detail-modal-menu-item-description{font-size:13px}.menu-badge{width:22px;height:22px;font-size:9px}}