.discount-badge{background-color:#ef4444;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.6rem;font-weight:500}.document-badge{background-color:#f59e0b;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.6rem;font-weight:500}.age-badge{background-color:#6b7280;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem}.pool-badge{background-color:#3b82f6;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.time-badge{background-color:#8b5cf6;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem}.availability-badge{padding:.125rem .5rem;border-radius:9999px;font-size:.75rem}.zone-color-1{background-color:#22c55e}.zone-color-2{background-color:#3b82f6}.zone-color-3{background-color:#f59e0b}.zone-color-4{background-color:#ef4444}.zone-color-5{background-color:#8b5cf6}.zone-color-6{background-color:#ec4899}.zone-color-7{background-color:#06b6d4}.zone-color-8{background-color:#84cc16}.availability-indicator{font-size:.75rem;padding:.125rem .375rem;border-radius:9999px;font-weight:500;width:-moz-fit-content;width:fit-content}.availability-high{background-color:#dcfce7;color:#166534}.availability-medium{background-color:#fef3c7;color:#92400e}.availability-low{background-color:#fee2e2;color:#991b1b}.availability-sold-out{background-color:#f3f4f6;color:#6b7280}.price-display{font-weight:600;color:#1f2937}.price-per-ticket{font-size:.875rem;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes highlight{0%{background-color:transparent}50%{background-color:#fef3c7}to{background-color:transparent}}.price-highlight{animation:highlight .5s ease}.seat-plan-loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.zone-color-indicator{width:20px;height:20px;border-radius:4px;border:1px solid #d1d5db;flex-shrink:0}.zone-info{flex:1;margin-left:.75rem;margin-right:.75rem}.zone-name{font-weight:500;font-size:.875rem;color:#1f2937;margin-bottom:.125rem}.zone-availability{font-size:.75rem;color:#6b7280}.zone-price{font-weight:600;font-size:.875rem;color:#1f2937;text-align:right;flex-shrink:0}.zone-price-suffix{font-size:.75rem;color:#6b7280;font-weight:400}.mobile-cart-toast{position:fixed;top:20px;right:20px;background:#fff;border:1px solid #10b981;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:12px 16px;display:none;align-items:center;gap:12px;z-index:9999;max-width:300px;animation:slideInRight .3s ease-out}@media (min-width: 769px){.mobile-cart-toast{display:none!important}}@media (max-width: 768px){.mobile-cart-toast{display:flex}}.mobile-cart-toast .toast-icon{width:24px;height:24px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;flex-shrink:0}.mobile-cart-toast .toast-content{flex:1;min-width:0}.mobile-cart-toast .toast-content .toast-title{font-weight:600;font-size:14px;color:#111827;margin-bottom:2px}.mobile-cart-toast .toast-content .toast-message{font-size:12px;color:#6b7280}.mobile-cart-toast .toast-action{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.mobile-cart-toast .toast-action:hover{background:#2563eb}.mobile-cart-toast .toast-action:active{transform:scale(.95)}.mobile-cart-toast .toast-close{width:24px;height:24px;background:none;border:none;color:#9ca3af;font-size:18px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.mobile-cart-toast .toast-close:hover{color:#6b7280}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.mobile-cart-toast.hiding{animation:slideOutRight .3s ease-in forwards}@media (max-width: 768px){.zone-price{text-align:left}}
