html, body{overflow-x: hidden;max-width: 100%}.event-info-card{border: none;box-shadow: 0 2px 8px rgba(0,0,0,0.1)}.event-detail-poster{max-width: 13rem;align-self: center}@media (min-width: 768px){.event-detail-poster{max-width: 15rem;align-self: center}}@media (min-width: 992px){.event-detail-poster{max-height: 300px}}.event-meta{display: flex;align-items: center;color: #666;font-size: 0.95rem}.event-meta i{color: var(--bs-primary)}.booking-steps{display: flex;justify-content: space-between;align-items: flex-start;padding: 1rem 0;position: relative;width: 100%}.step-item{display: flex;flex-direction: column;align-items: center;flex: 1;position: relative;z-index: 1}.step-number{width: 40px;height: 40px;border-radius: 50%;background: #e9ecef;color: #666;display: flex;align-items: center;justify-content: center;font-weight: bold;margin-bottom: 0.5rem;position: relative;z-index: 3;border: none;box-sizing: border-box;font-size: 1rem}.step-item.active .step-number{background: var(--bs-primary);color: #fff;border: 3px solid #fff}.step-item.completed .step-number{background: var(--bs-primary);color: #fff;border: none}.step-item.completed .step-label{color: var(--bs-primary);font-weight: 600}.booking-steps::before{content: '';position: absolute;top: calc(1rem + 20px - 1px);right: 3rem;left: 3rem;height: 2px;background: #e9ecef;z-index: 0}.booking-steps::after{content: '';position: absolute;top: calc(1rem + 20px - 1px);right: calc(23% / 2);width: calc(21% - 40px);height: 2px;background: var(--bs-primary);z-index: 0}.step-label{font-size: 0.85rem;color: #666;text-align: center;margin-top: 0.25rem}.step-item.active .step-label{color: var(--bs-primary);font-weight: 600}.event-title-main{font-size: 2rem;font-weight: 700;color: #333}.event-description-box{background: #f8f9fa;border: 1px solid #dee2e6;border-radius: 8px;padding: 1rem;margin-top: 0}.event-description-box h4{font-size: 1.25rem;font-weight: 600;color: #333;margin-bottom: 1rem}.description-content{line-height: 1.8;text-align: justify;color: #555}.description-content p{margin-bottom: 1rem}.event-address-box{padding: 0}.map-links{display: flex;gap: 0.75rem;align-items: center;margin-top: 0.75rem}.map-link-btn{display: inline-flex;align-items: center;justify-content: center;padding: 0.5rem 1rem;background: #fff;border: 1px solid #dee2e6;border-radius: 8px;transition: all 0.3s ease;text-decoration: none}.map-link-btn:hover{background: #f8f9fa;border-color: var(--bs-primary);transform: translateY(-2px);box-shadow: 0 2px 8px rgba(0,0,0,0.1)}.map-logo{height: 24px;width: auto;max-width: 120px}.sessions-grid{display: grid;grid-template-columns: repeat(1, minmax(0, 1fr));gap: 0.75rem;width: 100%;grid-auto-flow: row}@media (min-width: 576px){.sessions-grid{grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))}}@media (min-width: 768px){.sessions-grid{grid-template-columns: repeat(auto-fit, minmax(220px, 1fr))}}@media (min-width: 992px){.sessions-grid{grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))}}@media (min-width: 1200px){.sessions-grid{grid-template-columns: repeat(7, minmax(0, 1fr));gap: 0.75rem}}.sessions-section{width: 100%;margin-left: 0;margin-right: 0}.sessions-container{width: 100%;margin-left: 0;margin-right: 0}.session-day-card{border: 2px solid var(--bs-primary);border-radius: 0.75rem;background: #fff;transition: all 0.3s ease;box-shadow: 0 1px 4px rgba(0,0,0,0.08);width: 100%;min-width: 0;overflow: visible}.session-day-card:hover{box-shadow: 0 4px 12px rgba(51, 153, 221, 0.2);border-color: var(--bs-primary)}.session-day-card.session-sold-out{border-color: #dc3545;background: #fff5f5;opacity: 0.9}.session-day-card.session-sold-out .session-date i{color: #dc3545}.session-day-card.session-sold-out .session-time i{color: #dc3545}.session-day-card.session-sold-out .session-time-item{border-bottom-color: rgba(220, 53, 69, 0.2)}.session-day-card.session-cancelled{border-color: #ffc107;background: #fffbf0;opacity: 0.9}.session-day-card.session-cancelled .session-date i{color: #ffc107}.session-day-card.session-cancelled .session-time i{color: #ffc107}.session-day-card.session-cancelled .session-time-item{border-bottom-color: rgba(255, 193, 7, 0.2)}.session-day-card .session-action .btn-secondary{background-color: #6c757d;border-color: #6c757d;color: #fff}.session-day-card .card-body{padding: 1rem}.session-day-card .session-date{font-size: 0.85rem;color: #333;font-weight: 600;margin-bottom: 0.75rem;display: flex;align-items: center;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.session-day-card .session-date strong{white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.session-day-card .session-date i{color: var(--tiwall-blue, #3399dd);margin-left: 0.5rem;font-size: 1rem;flex-shrink: 0}.session-day-card .session-times{margin-top: 0.5rem}.session-time-item{padding-bottom: 0.75rem;margin-bottom: 0.75rem;border-bottom: 1px solid rgba(13, 110, 253, 0.2);display: flex;justify-content: space-between;align-items: center;gap: 0.25rem;flex-wrap: nowrap;min-width: 100%}@media (min-width: 576px){.session-time-item{gap: 0.5rem}}.session-time-item:last-child{border-bottom: none !important;margin-bottom: 0 !important;padding-bottom: 0 !important}.session-day-card .session-time{font-size: 0.9rem;color: #555;display: flex;align-items: center;flex: 0 1 auto;overflow: visible;flex-shrink: 1;min-width: fit-content}.session-day-card .session-time i{color: #0D6EFD;margin-left: 0.5rem;font-size: 0.9rem;flex-shrink: 0}.session-day-card .session-time span{white-space: nowrap;overflow: visible;text-overflow: clip;min-width: fit-content}.session-day-card .session-action{flex-shrink: 0;min-width: fit-content}.session-day-card .session-action .btn{font-weight: 600;font-size: 0.85rem;padding: 0.4rem 0.8rem;border-radius: 0.5rem;white-space: nowrap;min-width: fit-content;flex-shrink: 0}@media (max-width: 575px){.session-day-card .session-action .btn{padding: 0.4rem 1rem;font-size: 0.8rem}}@media (max-width: 576px){.session-day-card .session-action .btn{font-size: 0.75rem;padding: 0.35rem 0.6rem}.session-day-card .session-time{font-size: 0.85rem}}@media (min-width: 576px) and (max-width: 768px){.session-day-card .session-action .btn{font-size: 0.8rem;padding: 0.35rem 0.65rem}.session-day-card .session-time{font-size: 0.88rem}}@media (min-width: 992px){.session-day-card .session-action .btn{font-size: 0.8rem;padding: 0.35rem 0.6rem}.session-day-card .session-time{font-size: 0.85rem}}@media (min-width: 1200px){.session-day-card .session-action .btn{font-size: 0.75rem;padding: 0.3rem 0.5rem}.session-day-card .session-time{font-size: 0.8rem}.session-day-card .session-time i{font-size: 0.85rem}}.session-day-card .session-action .btn-primary{background-color: #0D6EFD;border-color: #0D6EFD}.session-day-card .session-action .btn-danger{background-color: #dc3545;border-color: #dc3545}.badge-status{position: absolute;top: 15px;left: 15px;padding: 8px 16px;border-radius: 8px;font-size: 0.85rem;font-weight: 600;color: #fff;z-index: 10;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);white-space: nowrap}.badge-status-extended{background: linear-gradient(135deg, #28a745, #20c997)}.badge-status-sold-out{background: linear-gradient(135deg, #dc3545, #c82333)}.badge-status-coming-soon{background: linear-gradient(135deg, #0d6efd, #0a58ca);color: #fff}.event-countdown-box{margin-top: 1rem;padding-top: 1rem}.event-address-box + .event-countdown-box, .event-countdown-box:first-child{margin-top: 0;padding-top: 0}.event-address-box ~ .event-countdown-box{margin-top: 1rem;padding-top: 1rem;border-top: 1px solid #dee2e6}.countdown-label{font-size: 0.9rem;color: #666;margin-bottom: 0.5rem;font-weight: 500}.coming-soon-cta.countdown-in-image{display: flex;align-items: center;gap: 0.75rem;padding: 0.75rem 1rem;border-radius: 12px;border: 1px solid #1565c0;background: #e3f2fd;color: #0d47a1;font-weight: 600;width: 100%;justify-content: center}.coming-soon-cta.countdown-in-image .hourglass-icon{background: transparent;border: none}.coming-soon-cta.countdown-in-image .hourglass-icon svg{fill: #0d47a1}.coming-soon-cta.countdown-in-image .coming-soon-timer{color: #0d47a1;font-size: 1.1rem;font-weight: 700;direction: ltr;text-align: center}.buy-ticket-btn.disabled-by-limit{opacity: 0.6;cursor: not-allowed;pointer-events: none}.ip-limit-warning{background: #fff3cd;border: 2px solid #ffc107;border-radius: 8px;padding: 1rem;margin-bottom: 1.5rem;text-align: center}.ip-limit-warning .warning-icon{font-size: 2rem;color: #ffc107;margin-bottom: 0.5rem}.ip-limit-warning .warning-message{font-weight: 600;color: #856404;margin-bottom: 0.25rem}.ip-limit-warning .warning-details{font-size: 0.9rem;color: #856404}@media (max-width: 991.98px){.booking-wizard-container{flex-direction: column;gap: 1.5rem}.booking-steps{max-width: 100%}}@media (max-width: 768px){.booking-steps{display: none}.badge-status{top: 10px;left: 10px;padding: 6px 12px;font-size: 0.75rem}}