 /* ========== CONTENT ========== */
 .venue-content {
     max-width: 1100px;
     margin: 0 auto;
     padding: 64px 24px 80px;
 }

 /* Venue Info Card */
 .venue-info-card {
     background: var(--bg-card);
     border: 1px solid var(--glass-border);
     border-radius: 24px;
     padding: 40px;
     box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
     position: relative;
     overflow: hidden;
     margin-bottom: 40px;
     opacity: 0;
     animation: epFadeInUp 0.7s 0.4s ease-out both;
 }

 .venue-info-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
 }

 .venue-info-card::after {
     content: '';
     position: absolute;
     left: 0;
     top: 20px;
     bottom: 20px;
     width: 4px;
     background: linear-gradient(180deg, var(--primary-green), var(--accent-gold));
     border-radius: 0 4px 4px 0;
     transition: top 0.3s ease, bottom 0.3s ease;
 }

 .venue-info-card:hover::after {
     top: 12px;
     bottom: 12px;
 }

 .venue-header {
     display: flex;
     align-items: center;
     gap: 16px;
     margin-bottom: 24px;
 }

 .venue-icon-wrap {
     width: 56px;
     height: 56px;
     border-radius: 16px;
     background: linear-gradient(135deg, rgba(5, 150, 105, 0.1), rgba(217, 119, 6, 0.08));
     border: 1px solid rgba(5, 150, 105, 0.15);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .venue-icon-wrap i {
     font-size: 24px;
     color: var(--primary-green);
 }

 .venue-header h2 {
     font-size: 22px;
     font-weight: 700;
     color: var(--text-primary);
     line-height: 1.3;
 }

 .venue-header h2 span {
     display: block;
     font-size: 13px;
     font-weight: 500;
     color: var(--text-muted);
     letter-spacing: 1px;
     text-transform: uppercase;
     margin-top: 4px;
 }

 .venue-desc {
     font-size: 15px;
     color: var(--text-secondary);
     line-height: 1.75;
     padding-left: 72px;
 }

 .venue-desc strong {
     color: var(--text-primary);
     font-weight: 700;
 }

 /* Specs Grid */
 .specs-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 16px;
     margin-top: 32px;
     padding-left: 72px;
 }

 @media (max-width: 768px) {
     .specs-grid {
         grid-template-columns: 1fr;
         padding-left: 0;
     }
 }

 .spec-item {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 16px 18px;
     background: rgba(5, 150, 105, 0.03);
     border: 1px solid rgba(5, 150, 105, 0.08);
     border-radius: 14px;
     transition: all 0.3s ease;
 }

 .spec-item:hover {
     background: rgba(5, 150, 105, 0.06);
     transform: translateX(4px);
     border-color: rgba(5, 150, 105, 0.15);
 }

 .spec-icon {
     width: 40px;
     height: 40px;
     border-radius: 10px;
     background: linear-gradient(135deg, var(--primary-green), var(--light-green));
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     box-shadow: 0 2px 10px rgba(5, 150, 105, 0.2);
 }

 .spec-icon i {
     font-size: 18px;
     color: #fff;
 }

 .spec-text .spec-value {
     font-size: 16px;
     font-weight: 700;
     color: var(--text-primary);
     line-height: 1.2;
 }

 .spec-text .spec-label {
     font-size: 12px;
     color: var(--text-muted);
     font-weight: 500;
 }

 /* ========== MAP SECTION ========== */
 .map-section {
     max-width: 1100px;
     margin: 0 auto;
     padding: 0 24px 80px;
 }

 .map-card {
     background: var(--bg-card);
     border: 1px solid var(--glass-border);
     border-radius: 24px;
     overflow: hidden;
     box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
     position: relative;
     opacity: 0;
     animation: epFadeInUp 0.7s 0.55s ease-out both;
 }

 .map-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
     z-index: 2;
 }

 .map-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 24px 32px;
     border-bottom: 1px solid var(--glass-border);
     flex-wrap: wrap;
     gap: 12px;
 }

 .map-header-left {
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .map-header-left i {
     font-size: 22px;
     color: var(--accent-orange);
 }

 .map-header-left span {
     font-size: 16px;
     font-weight: 700;
     color: var(--text-primary);
 }

 .map-btn {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 10px 22px;
     background: linear-gradient(135deg, var(--primary-green), var(--dark-green));
     color: #fff;
     border: none;
     border-radius: 12px;
     font-size: 14px;
     font-weight: 600;
     transition: all 0.3s ease;
     box-shadow: 0 4px 16px rgba(5, 150, 105, 0.25);
 }

 .map-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 24px rgba(5, 150, 105, 0.35);
     gap: 12px;
 }

 .map-btn i {
     font-size: 13px;
 }

 .map-iframe-wrap {
     position: relative;
     width: 100%;
     height: 420px;
     background: var(--bg-surface);
 }

 .map-iframe-wrap iframe {
     width: 100%;
     height: 100%;
     border: none;
     display: block;
 }

 .map-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 0%, transparent 20%, transparent 80%, rgba(255, 255, 255, 0.2) 100%);
     pointer-events: none;
     z-index: 1;
 }



 /* ========== ANIMATIONS ========== */
 @keyframes epFadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 @keyframes epPulse {

     0%,
     100% {
         opacity: 0.8;
         transform: scale(1);
     }

     50% {
         opacity: 0.4;
         transform: scale(1.2);
     }
 }

 @keyframes epExpandLine {
     from {
         width: 0;
         opacity: 0;
     }

     to {
         width: 60px;
         opacity: 1;
     }
 }

 /* ========== RESPONSIVE ========== */
 @media (max-width: 768px) {
     .page-banner {
         min-height: 300px;
     }

     .page-banner-content {
         padding: 48px 20px;
     }

     .venue-info-card {
         padding: 28px 20px;
     }

     .venue-desc {
         padding-left: 0;
     }

     .specs-grid {
         padding-left: 0;
     }

     .map-header {
         padding: 20px 20px;
     }

     .map-iframe-wrap {
         height: 320px;
     }


 }

 @media (max-width: 480px) {


     .venue-content {
         padding: 40px 16px;
     }

     .map-section {
         padding: 0 16px 48px;
     }

     .specs-grid {
         grid-template-columns: 1fr;
     }
 }

 @media (prefers-reduced-motion: reduce) {

     *,
     *::before,
     *::after {
         animation: none !important;
         transition: none !important;
     }
 }