/* UBAH WARNA DAN TAMPILAN WEBSITE DI FILE INI */
:root{--bg:#090e15;--panel:#121c27;--line:#2a3746;--muted:#aab6c6;--purple:#743cff;--text:#f7f8fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.contoh-banner{text-align:center;background:#2b1c48;color:#e8ddff;padding:9px 12px;font-size:12px}
.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;padding:12px max(16px,calc((100vw - 1200px)/2));background:#0c131d;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:900;white-space:nowrap;color:inherit;text-decoration:none}.brand-icon{display:inline-grid;place-items:center;background:var(--purple);width:32px;height:32px;border-radius:8px;margin-right:8px}.main-nav{display:flex;gap:16px}.main-nav a{color:#eee;text-decoration:none}.search-box{margin-left:auto;display:flex;align-items:center;gap:8px;background:#f4f5f8;color:#111;border-radius:24px;padding:9px 13px;max-width:330px;flex:1}.search-box input{border:0;outline:0;background:transparent;width:100%;min-width:0}.btn{border:0;border-radius:9px;padding:11px 15px;font-weight:750}.primary{background:linear-gradient(135deg,#854aff,#6027ec);color:#fff}.secondary{background:#1b2633;color:#fff;border:1px solid #334254}.hero{min-height:450px;position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);background:#0b1018}.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,10,16,.94) 0%,rgba(6,10,16,.78) 38%,rgba(6,10,16,.24) 75%,rgba(6,10,16,.25) 100%),linear-gradient(0deg,rgba(6,10,16,.55),transparent 60%)}.hero-content{max-width:1200px;margin:auto;padding:50px 20px 44px}.eyebrow{color:#c8b8ff;font-size:11px;letter-spacing:.2em;font-weight:800}.hero h1{font-size:clamp(54px,8vw,80px);line-height:1;margin:12px 0 0;letter-spacing:-.06em}.hero h2{margin:4px 0 14px;font-size:23px}.genre-tags{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.genre-tags span{background:#ffffff12;border:1px solid #ffffff30;border-radius:22px;padding:5px 11px;font-size:12px}.hero p{max-width:490px;color:#e0e4eb;line-height:1.7}.section{max-width:1200px;margin:auto;padding:28px 20px;scroll-margin-top:78px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.section-heading h2{font-size:36px;line-height:1.1;margin:0 0 7px;letter-spacing:-.04em}.muted{color:var(--muted)}.section-heading p{margin:0}.contoh-note{max-width:330px;padding:11px 13px;border:1px solid #2b3a4c;border-radius:10px;background:#111b28;color:#c2cee0;font-size:11px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 12px}.region-chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#17212e;border:1px solid #2b3949;color:#e1e7ef;border-radius:8px;padding:9px 12px}.chip.active{background:var(--purple);border-color:var(--purple)}.filters{display:flex;gap:7px;margin-left:auto}.filters select{background:#111a26;color:#fff;border:1px solid #2c3948;border-radius:8px;padding:9px;max-width:165px}.events-list{display:grid;gap:8px}.event-row{display:grid;grid-template-columns:48px 100px minmax(150px,1.4fr) minmax(110px,.8fr) auto;gap:13px;align-items:center;background:linear-gradient(100deg,#121c27,#0e151e);border:1px solid #25313e;border-radius:12px;padding:10px}.event-date{text-align:center;line-height:1.1}.event-date span{display:block;font-size:11px;color:#bdc7d5}.event-date strong{display:block;font-size:25px;margin:4px 0}.event-art{height:65px;border-radius:8px;background:linear-gradient(145deg,#52697a,#182532 65%,#090e15);position:relative;overflow:hidden}.event-art:after{content:"";position:absolute;left:8%;right:8%;bottom:22%;height:3px;background:#c6d8e8;box-shadow:0 -9px 0 #7e96aa,0 -18px 0 #465d72}.art-singapore{background:linear-gradient(145deg,#87a4b5,#1e4357,#101923)}.art-tokyo{background:linear-gradient(145deg,#bac5c5,#5e7b87,#172630)}.art-la{background:linear-gradient(145deg,#a44b9e,#352452,#101622)}.event-title{font-weight:800;margin-bottom:4px}.event-venue{font-size:12px;color:#b9c4d2}.event-price small{display:block;color:#aeb9c8;font-size:11px}.event-price strong{font-size:16px;white-space:nowrap}.event-row .btn{white-space:nowrap}.booking-card{background:linear-gradient(130deg,#121c27,#0b1118);border:1px solid var(--line);border-radius:14px;padding:17px}.booking-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #293543;padding-bottom:14px;margin-bottom:16px}.back-link{display:block;background:none;border:0;color:#c5d0df;padding:0 0 8px}.selected-event{display:flex;gap:11px;align-items:center}.event-mini-art{width:95px;height:60px;flex-shrink:0;border-radius:8px;background:linear-gradient(145deg,#52697a,#182532)}.selected-event strong,.selected-event span{display:block}.selected-event span{font-size:12px;color:#adb9c9}.steps{display:flex;gap:13px;color:#b8c3d1;font-size:11px}.steps b{display:inline-grid;place-items:center;background:var(--purple);border-radius:50%;width:24px;height:24px;margin-right:5px}.booking-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:18px}.booking-grid h3,.order-summary h3{font-size:15px;margin:0 0 12px}.ticket-options{display:grid;gap:8px}.ticket-option{display:flex;align-items:center;gap:8px;background:#f3f5f9;color:#151c27;border-radius:8px;padding:9px 10px;min-height:48px}.ticket-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.ticket-name{font-size:12px;font-weight:800;flex:1}.ticket-unit{font-size:11px;font-weight:800;white-space:nowrap}.quantity{display:flex;align-items:center;gap:5px}.quantity button{width:23px;height:23px;border:0;border-radius:5px;background:#dfe5ed;color:#17202d;font-weight:900}.quantity output{min-width:15px;text-align:center;font-weight:800;font-size:12px}.seat-map-wrap{min-height:290px;display:grid;place-items:center;position:relative}.stadium-map{width:min(100%,285px);aspect-ratio:1;border:10px solid #2d3b48;border-radius:48%;background:#18232e;position:relative;box-shadow:inset 0 0 0 4px #080e14}.seat-ring{position:absolute;border-radius:48%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:10px;border:2px solid #0c131c}.ring-four{inset:2%;background:#873bd0}.ring-three{inset:14%;background:#409b5c}.ring-two{inset:25%;background:#247bd8}.ring-one{inset:35%;background:#f39a18}.ring-vip{inset:40%;background:#dc3d43;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.stage-label{position:absolute;top:4%;left:50%;transform:translateX(-50%);background:#687581;padding:8px 20px;border-radius:4px;font-size:10px;font-weight:900;z-index:2}.map-note{position:absolute;bottom:0;text-align:center;font-size:10px;color:#9ba8b7}.order-summary{background:#f4f6fa;color:#131b27;border-radius:11px;padding:14px;align-self:start}.order-summary h3{color:#131b27}.summary-line{display:flex;justify-content:space-between;gap:8px;margin:10px 0;color:#687486;font-size:12px}.summary-line strong{color:#17202c}.total-line{border-top:1px solid #d8dee7;padding-top:12px;font-size:14px;font-weight:850}.total-line strong{font-size:20px;color:var(--purple)}.empty-cart{background:#e9edf4;border-radius:8px;text-align:center;padding:17px 8px;color:#657185;font-size:11px}.full-width{width:100%;margin-top:10px}.full-width:disabled{background:#87919e;cursor:not-allowed}.fine-print{font-size:10px;color:#93a0b0;line-height:1.5}.customer-form{display:none;border-top:1px solid #2b3744;margin-top:18px;padding-top:18px}.customer-form.show{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:grid;gap:6px;font-size:12px;color:#c6d0de}.form-field input,.form-field select{width:100%;padding:11px;border:1px solid #354354;border-radius:8px;background:#0b121b;color:#fff}.full-field{grid-column:1/-1}.consent span{display:flex;align-items:center;gap:8px}.consent input{width:auto}.form-submit{margin-top:14px}.confirmation{display:none;margin-top:16px;border:1px solid #328658;background:#11291f;border-radius:10px;padding:16px}.confirmation.show{display:block}.confirmation h3{color:#83e6a8}.trust-features{max-width:1200px;margin:auto;padding:8px 20px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature{border-top:1px solid #24303d;padding:17px 5px;display:flex;gap:10px}.feature-icon{width:38px;height:38px;display:grid;place-items:center;background:#1b2735;border-radius:50%;font-size:18px;flex-shrink:0}.feature strong,.feature span{display:block}.feature strong{font-size:12px}.feature div span{font-size:11px;color:#aab5c4;margin-top:4px}.site-footer{text-align:center;border-top:1px solid #24303d;padding:20px;color:#8793a4;font-size:11px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;background:#f5f6fa;color:#111;padding:12px 16px;border-radius:9px;transition:.2s;z-index:10;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:950px){.main-nav{display:none}.event-row{grid-template-columns:45px 85px minmax(140px,1fr) auto}.booking-grid{grid-template-columns:1fr 1fr}.order-summary{grid-column:1/-1}.trust-features{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.site-header{padding:10px 13px;gap:10px;flex-wrap:wrap}.brand{font-size:17px}.search-box{order:3;flex-basis:100%;max-width:none}.hero{min-height:530px}.hero-poster{object-position:42% center}.hero-shade{background:linear-gradient(90deg,rgba(6,10,16,.88),rgba(6,10,16,.45)),linear-gradient(0deg,rgba(6,10,16,.75),transparent 80%)}.hero-content{padding:38px 16px}.section{padding:23px 13px}.section-heading{display:block}.section-heading h2{font-size:30px}.contoh-note{margin-top:13px;max-width:none}.region-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.chip{white-space:nowrap}.filters{width:100%;margin-left:0}.filters select{min-width:0;flex:1;font-size:11px}.event-row{grid-template-columns:37px minmax(0,1fr) auto;gap:9px;padding:9px}.event-row .event-art{display:none}.event-title{font-size:12px}.event-venue{font-size:11px}.event-price{grid-column:2;grid-row:2}.event-row .btn{grid-column:3;grid-row:1/3;padding:9px;font-size:11px;white-space:normal}.booking-card{padding:12px}.booking-heading{align-items:flex-start;flex-direction:column}.steps{width:100%;justify-content:space-between;gap:3px}.booking-grid{grid-template-columns:1fr}.order-summary{grid-column:auto}.seat-map-wrap{min-height:275px}.trust-features{padding:8px 13px 20px;gap:5px}.feature{padding:12px 0}.feature-icon{width:32px;height:32px;font-size:15px}.feature strong{font-size:11px}.feature div span{font-size:10px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}}

.contoh-label{font-size:10px;color:#aab6c6;font-weight:500}.no-events{padding:25px;text-align:center;border:1px dashed #334154;border-radius:10px}

/* Jadwal acara: kartu terang terinspirasi pola referensi, tetap memakai identitas TICKETKU */
.schedule-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 18px}
.location-select{display:flex;align-items:center;gap:8px}
.location-pin{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#17212a;color:#fff;font-size:20px;transform:rotate(-25deg)}
.location-select select,.extra-filters select{appearance:auto;background:#151e2b;color:#f2f5fb;border:1px solid #344256;border-radius:10px;padding:10px 12px;min-height:42px;font-weight:600;max-width:100%;color-scheme:dark}
.filter-button{display:flex;align-items:center;gap:8px;background:#1b2635;color:#f5f7fc;border:1px solid #344256;border-radius:10px;padding:10px 14px;min-height:42px;font-weight:700}
.extra-filters{display:none;gap:8px;flex-wrap:wrap;margin:-5px 0 16px}.extra-filters.show{display:flex}
.schedule-count{font-size:23px;line-height:1.25;color:var(--text);margin:22px 0 16px;font-weight:800;letter-spacing:-.025em}
.all-heading{margin-top:34px}
.schedule-list{gap:10px}
.schedule-list .event-row{grid-template-columns:116px minmax(0,1fr);gap:18px;align-items:center;background:#fff;color:#151b22;border:1px solid #d8dadd;border-radius:25px;padding:18px 20px;min-height:150px;box-shadow:0 1px 1px #00000005}
.schedule-list .event-date{width:116px;height:112px;border:1px solid #dedee3;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6535a7;background:linear-gradient(to bottom,#fff 0%,#fff 73%,#f6eaff 73%,#f6eaff 100%)}
.schedule-list .event-date span:first-child{font-size:16px;font-weight:750}.schedule-list .event-date strong{font-size:35px;line-height:1;margin:5px 0}.schedule-list .event-date span:last-child{font-size:16px}
.schedule-list .event-art{display:none}
.schedule-list .event-row>div:nth-child(3){min-width:0}
.schedule-list .event-title{font-size:21px;color:#141b22;margin-bottom:2px}
.schedule-list .contoh-label{color:#7444ae}
.schedule-list .event-venue{font-size:17px;line-height:1.55;color:#69717a;white-space:normal}
.schedule-list .event-price{display:none}
.schedule-list .event-row .btn{grid-column:2;justify-self:start;background:#f8e7f0;color:#a20e62;border:0;border-radius:8px;padding:6px 10px;margin-top:5px;font-size:12px}
.schedule-list .event-row .btn:before{content:"♧  "}
.schedule-list .event-row .btn:after{content:"  ⓘ"}
.schedule-list .event-row .btn{font-size:0}
.schedule-list .event-row .btn:before{font-size:13px}
.schedule-list .event-row .btn:after{font-size:13px}
.schedule-list .event-row .btn{position:relative}
.schedule-list .event-row .btn:before{content:"Kategori tiket hampir habis"}
.schedule-list .event-row .btn:after{content:"  ⓘ"}
.schedule-list .event-row .btn{white-space:normal}
@media(max-width:650px){
  .schedule-tools{margin-top:18px}
  .location-select select{max-width:220px}
  .schedule-count{font-size:21px;margin:22px 0 15px}
  .schedule-list .event-row{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:15px 13px;min-height:135px;border-radius:23px}
  .schedule-list .event-date{width:104px;height:100px;border-radius:20px}
  .schedule-list .event-date span:first-child,.schedule-list .event-date span:last-child{font-size:15px}
  .schedule-list .event-date strong{font-size:33px}
  .schedule-list .event-title{font-size:19px}
  .schedule-list .event-venue{font-size:15px;line-height:1.5}
  .schedule-list .event-row .btn{font-size:0;padding:6px 9px}
  .schedule-list .event-row .btn:before{font-size:12px}
  .schedule-list .event-row .btn:after{font-size:12px}
}

/* Perbaikan jadwal: status dan tombol pilih tiket dipisahkan agar tidak saling menimpa */
.schedule-list .event-main{min-width:0}
.schedule-list .event-status{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;background:#fbe8f0;color:#a20e62;border-radius:9px;padding:5px 10px;margin-top:5px;font-size:13px;line-height:1.4}
.schedule-list .event-status.popular{background:#f4eaff;color:#6e35a8}
.schedule-list .event-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.schedule-list .contoh-price{font-size:12px;color:#747d87}
.schedule-list .event-row .choose-ticket{display:inline-flex;grid-column:auto;justify-self:auto;background:#6837bb;color:#fff;border:0;border-radius:8px;padding:7px 11px;margin:0;font-size:12px;white-space:nowrap}
.schedule-list .event-row .choose-ticket:before,.schedule-list .event-row .choose-ticket:after{content:none!important}
.schedule-list .event-row .event-status{position:static;grid-column:auto;justify-self:auto;font-size:13px}
.schedule-list .event-row .event-status:before,.schedule-list .event-row .event-status:after{content:none!important}
@media(max-width:650px){
 .schedule-list .event-actions{align-items:flex-start;flex-direction:column;gap:7px}
 .schedule-list .event-row .choose-ticket{font-size:12px;padding:7px 10px}
}

/* Final responsive schedule corrections */
.schedule-list{display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;min-height:0;margin:0 0 22px;}
.schedule-list .event-row{display:grid!important;visibility:visible!important;opacity:1!important;position:relative;grid-template-columns:104px minmax(0,1fr)!important;gap:15px!important;min-height:132px;padding:15px!important;background:#f8f9fc!important;color:#171c26!important;border:1px solid #d8deea!important;border-radius:18px!important;overflow:hidden;}
.schedule-list .event-date{grid-column:1;grid-row:1 / span 3;width:104px!important;height:100px!important;align-self:center;background:linear-gradient(to bottom,#fff 0%,#fff 72%,#f2e8ff 72%,#f2e8ff 100%)!important;border:1px solid #e0d8ed!important;border-radius:14px!important;color:#6d35c5!important;}
.schedule-list .event-main{grid-column:2;grid-row:1;min-width:0;}
.schedule-list .event-title{color:#171c26!important;font-size:18px!important;line-height:1.25;}
.schedule-list .event-venue{color:#667184!important;font-size:13px!important;line-height:1.5!important;overflow-wrap:anywhere;}
.schedule-list .event-status{font-size:11px!important;max-width:100%;white-space:normal;}
.schedule-list .event-actions{grid-column:2;grid-row:2;align-items:flex-start;flex-direction:column;gap:6px;margin-top:8px;}
.schedule-list .contoh-price{color:#687285!important;font-size:11px!important;}
.schedule-list .event-row .choose-ticket{font-size:12px!important;white-space:nowrap;background:#6d35c5!important;color:#fff!important;border-radius:8px!important;padding:8px 11px!important;}
.schedule-count{margin:22px 0 12px!important;font-size:21px!important;}
.all-heading{margin-top:26px!important;}
.schedule-tools{justify-content:flex-start;flex-wrap:wrap;}
.location-select select,.extra-filters select{font-size:14px;}
.extra-filters{margin:0 0 14px;}
@media(max-width:650px){
 .schedule-tools{gap:8px;}
 .location-select{flex:1;min-width:0;}
 .location-select select{width:100%;max-width:none;min-width:0;}
 .filter-button{flex-shrink:0;}
 .extra-filters{display:none;grid-template-columns:1fr 1fr;width:100%;}
 .extra-filters.show{display:grid;}
 .extra-filters select{width:100%;min-width:0;font-size:13px;padding:9px 8px;}
 .schedule-list .event-row{grid-template-columns:82px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;min-height:118px;}
 .schedule-list .event-date{width:82px!important;height:88px!important;border-radius:12px!important;}
 .schedule-list .event-date span:first-child,.schedule-list .event-date span:last-child{font-size:13px!important;}
 .schedule-list .event-date strong{font-size:30px!important;}
 .schedule-list .event-title{font-size:17px!important;}
 .schedule-list .event-venue{font-size:12px!important;}
 .schedule-list .event-actions{gap:6px;}
}


/* PATCH FINAL: pastikan kartu jadwal benar-benar terlihat di semua viewport */
#localEvents, #allEvents {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  min-height: 1px !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 12px 0 24px !important;
}
#localEvents:empty, #allEvents:empty { display: none !important; }
#localEvents .event-row, #allEvents .event-row {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 116px !important;
  height: auto !important;
  padding: 12px !important;
  margin: 0 !important;
  background: #f8f9fc !important;
  color: #171c26 !important;
  border: 1px solid #d8deea !important;
  border-radius: 16px !important;
  overflow: visible !important;
}
#localEvents .event-date, #allEvents .event-date {
  display: flex !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 82px !important;
  height: 88px !important;
  align-self: center !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(to bottom, #fff 0%, #fff 72%, #f2e8ff 72%, #f2e8ff 100%) !important;
  color: #6d35c5 !important;
  border: 1px solid #e0d8ed !important;
  border-radius: 12px !important;
}
#localEvents .event-main, #allEvents .event-main {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  color: #171c26 !important;
}
#localEvents .event-title, #allEvents .event-title { color: #171c26 !important; font-size: 17px !important; line-height: 1.3 !important; }
#localEvents .event-venue, #allEvents .event-venue { color: #667184 !important; font-size: 12px !important; line-height: 1.5 !important; overflow-wrap: anywhere !important; }
#localEvents .event-actions, #allEvents .event-actions { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; margin-top: 8px !important; }
#localEvents .contoh-price, #allEvents .contoh-price { color: #687285 !important; font-size: 11px !important; }
#localEvents .choose-ticket, #allEvents .choose-ticket { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; background: #6d35c5 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 8px 11px !important; font-size: 12px !important; }
#localEvents .event-status, #allEvents .event-status { display: inline-flex !important; position: static !important; color: #a20e62 !important; font-size: 11px !important; white-space: normal !important; }
.schedule-tools { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:flex-start !important; gap:8px !important; }
.location-select select, .extra-filters select, .filter-button { min-height:42px !important; border-radius:10px !important; font-size:14px !important; }
.schedule-count { margin:22px 0 12px !important; }
.all-heading { margin-top:24px !important; }
@media(max-width:650px) {
 .schedule-tools { gap:8px !important; }
 .location-select { flex:1 1 175px !important; min-width:0 !important; }
 .location-select select { width:100% !important; max-width:none !important; }
 .extra-filters.show { display:grid !important; grid-template-columns:1fr 1fr !important; width:100% !important; }
 #localEvents .event-row, #allEvents .event-row { grid-template-columns:72px minmax(0,1fr) !important; padding:10px !important; gap:10px !important; }
 #localEvents .event-date, #allEvents .event-date { width:72px !important; height:82px !important; }
 #localEvents .event-date strong, #allEvents .event-date strong { font-size:28px !important; }
}

/* TICKETKU seating layout refinement */
.booking-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1.35fr)!important}
.booking-grid>section:first-child{min-width:0}
.ticket-options{gap:0!important;background:#fff;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden}
.ticket-option{display:grid!important;grid-template-columns:94px minmax(0,1fr) auto;gap:10px!important;align-items:center;background:#fff!important;color:#111827!important;border-radius:0!important;border-bottom:1px solid #e8ebef;min-height:83px;padding:9px!important}
.ticket-option:last-child{border-bottom:0}
.ticket-thumb{width:94px;height:62px;border-radius:8px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.thumb-stadium{background:radial-gradient(ellipse at 50% 18%,#0c1724 0 17%,transparent 18%),linear-gradient(170deg,transparent 45%,#243b51 46% 51%,#0d1b2a 52%),linear-gradient(25deg,#101b2a,#557184 48%,#101722)}
.thumb-stadium:after,.thumb-festival:after{content:"";position:absolute;left:9%;right:9%;bottom:10%;height:10px;border-radius:50%;border-top:2px solid #91a8b7;box-shadow:0 -7px 0 -3px #647e90,0 -14px 0 -6px #344d61}
.thumb-festival{background:radial-gradient(ellipse at 50% 48%,#c9e6e5 0 15%,transparent 16%),linear-gradient(145deg,#0d2031,#5d7e91 45%,#17283a)}
.thumb-city{background:linear-gradient(180deg,#9bbcc9 0 48%,#435d6b 49%,#1b303c 100%)}
.ticket-details{min-width:0;display:flex;flex-direction:column;gap:4px}
.ticket-name{font-size:12px!important;line-height:1.25;font-weight:800;flex:unset}
.ticket-meta{font-size:10px;color:#687486}
.ticket-badge{align-self:flex-start;font-size:9px;background:#ffe6ef;color:#b42362;padding:3px 6px;border-radius:4px}
.ticket-purchase{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.ticket-unit{font-size:11px!important;white-space:nowrap;color:#101828}
.quantity{gap:5px}
.quantity button{width:22px;height:22px;border:1px solid #d5dbe4;background:#f1f3f6;color:#263243}
.seat-map-wrap{min-height:300px!important;padding:8px 0 22px}
.stadium-map.detailed-map{width:min(100%,460px)!important;aspect-ratio:1.48!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;position:relative;overflow:hidden}
.map-outer{position:absolute;inset:1%;border:3px solid #d9dde0;border-radius:50%;background:#e6e6e6;box-shadow:inset 0 0 0 7px #fff}
.map-middle{position:absolute;inset:18% 13%;border:5px solid #fff;border-radius:48%;background:#e5e5e5}
.map-floor{position:absolute;inset:32% 25%;border:4px solid #fff;border-radius:32%/50%;background:#cbbce8;display:flex;align-items:center;justify-content:space-around;color:#644c8d}
.map-earth{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24%;aspect-ratio:1;border-radius:50%;background:#999;border:1px solid #fff;display:grid;place-items:center;color:#111;font-size:10px}
.map-label{position:absolute;color:#a4a4a4;font-size:9px;font-weight:600;white-space:nowrap}
.label-cat3a{top:8%;left:50%;transform:translateX(-50%)}
.label-cat3b{bottom:8%;left:50%;transform:translateX(-50%)}
.label-cat4a{left:4%;top:50%;transform:translateY(-50%) rotate(-90deg)}
.label-cat4b{right:4%;top:50%;transform:translateY(-50%) rotate(90deg)}
.label-cat1a{top:17%;left:25%}.label-cat1b{top:17%;right:25%}
.label-vipe{top:7%;left:50%;transform:translateX(-50%)}
.label-vipw{bottom:7%;left:50%;transform:translateX(-50%)}
.label-cat2a{left:3%;top:50%;transform:translateY(-50%) rotate(-90deg)}
.label-cat2b{right:3%;top:50%;transform:translateY(-50%) rotate(90deg)}
.floor-label{font-size:9px;font-weight:800;writing-mode:vertical-rl}
.floor-a{transform:rotate(180deg)}
@media(max-width:650px){
 .booking-grid{grid-template-columns:1fr!important}
 .ticket-option{grid-template-columns:82px minmax(0,1fr) auto!important;padding:8px!important;gap:8px!important}
 .ticket-thumb{width:82px;height:57px}
 .ticket-unit{font-size:10px!important}
 .stadium-map.detailed-map{width:100%!important;max-width:460px;aspect-ratio:1.35!important}
 .map-label{font-size:8px}
 .floor-label{font-size:8px}
}

/* Final layout repair: explicit positioning for schedule and stadium map */
#localEvents, #allEvents { display:flex !important; flex-direction:column !important; gap:10px !important; width:100% !important; }
#localEvents .event-row, #allEvents .event-row { display:grid !important; grid-template-columns:100px minmax(0,1fr) !important; align-items:center !important; width:100% !important; min-height:126px !important; height:auto !important; box-sizing:border-box !important; }
#localEvents .event-date, #allEvents .event-date { display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:center !important; width:100% !important; min-height:88px !important; border-radius:12px !important; background:#eee7ff !important; color:#5426a8 !important; }
#localEvents .event-main, #allEvents .event-main { display:flex !important; flex-direction:column !important; gap:7px !important; min-width:0 !important; }
#localEvents .event-title, #allEvents .event-title { font-size:17px !important; font-weight:800 !important; color:#111827 !important; }
#localEvents .event-venue, #allEvents .event-venue { font-size:13px !important; line-height:1.5 !important; color:#5d6676 !important; }
#localEvents .event-actions, #allEvents .event-actions { display:flex !important; align-items:center !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:8px !important; }
#localEvents .choose-ticket, #allEvents .choose-ticket { background:#7137ef !important; color:white !important; border:0 !important; border-radius:8px !important; padding:9px 13px !important; }
.booking-grid {display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.95fr)!important;align-items:start!important;gap:24px!important}
#ticketOptions {display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important;border:1px solid #e2e6ed!important;border-radius:12px!important;background:#fff!important}
#ticketOptions .ticket-option {display:grid!important;grid-template-columns:88px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:10px!important;min-height:82px!important;background:#fff!important;color:#111827!important;border-bottom:1px solid #e7eaf0!important;box-sizing:border-box!important}
#ticketOptions .ticket-thumb {display:block!important;width:88px!important;height:60px!important;border-radius:8px!important}
#ticketOptions .ticket-details {display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}
#ticketOptions .ticket-name {font-size:12px!important;line-height:1.3!important;color:#111827!important}
#ticketOptions .ticket-meta {font-size:10px!important;color:#697586!important}
#ticketOptions .ticket-badge {display:inline-block!important;align-self:flex-start!important;font-size:9px!important;padding:3px 6px!important;background:#ffe5ef!important;color:#b42362!important;border-radius:4px!important}
#ticketOptions .ticket-purchase {display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
#ticketOptions .ticket-unit {font-size:11px!important;white-space:nowrap!important;color:#111827!important}
.stadium-map.detailed-map {display:block!important;position:relative!important;width:100%!important;max-width:480px!important;aspect-ratio:1.48!important;margin:0 auto!important;overflow:hidden!important}
.stadium-map.detailed-map .map-outer {position:absolute!important;inset:1%!important;border:3px solid #d9dde0!important;border-radius:50%!important;background:#e6e6e6!important;box-shadow:inset 0 0 0 7px white!important}
.stadium-map.detailed-map .map-middle {position:absolute!important;inset:18% 13%!important;border:5px solid white!important;border-radius:48%!important;background:#e5e5e5!important}
.stadium-map.detailed-map .map-floor {position:absolute!important;inset:32% 25%!important;border:4px solid white!important;border-radius:32% / 50%!important;background:#cbbce8!important;display:flex!important;align-items:center!important;justify-content:space-around!important}
.stadium-map.detailed-map .map-label {position:absolute!important;display:block!important;color:#999!important;font-size:10px!important;font-weight:600!important;white-space:nowrap!important;line-height:1.2!important}
.stadium-map.detailed-map .label-cat3a {top:8%!important;left:50%!important;transform:translateX(-50%)!important}
.stadium-map.detailed-map .label-cat3b {bottom:8%!important;left:50%!important;transform:translateX(-50%)!important}
.stadium-map.detailed-map .label-cat4a {left:4%!important;top:50%!important;transform:translateY(-50%) rotate(-90deg)!important}
.stadium-map.detailed-map .label-cat4b {right:4%!important;top:50%!important;transform:translateY(-50%) rotate(90deg)!important}
.stadium-map.detailed-map .label-cat1a {top:17%!important;left:25%!important}
.stadium-map.detailed-map .label-cat1b {top:17%!important;right:25%!important}
.stadium-map.detailed-map .label-vipe {top:7%!important;left:50%!important;transform:translateX(-50%)!important}
.stadium-map.detailed-map .label-vipw {bottom:7%!important;left:50%!important;transform:translateX(-50%)!important}
.stadium-map.detailed-map .label-cat2a {left:3%!important;top:50%!important;transform:translateY(-50%) rotate(-90deg)!important}
.stadium-map.detailed-map .label-cat2b {right:3%!important;top:50%!important;transform:translateY(-50%) rotate(90deg)!important}
.stadium-map.detailed-map .floor-label {position:relative!important;display:block!important;font-size:10px!important;font-weight:800!important;writing-mode:vertical-rl!important;color:#644c8d!important}
.stadium-map.detailed-map .floor-a {transform:rotate(180deg)!important}
.stadium-map.detailed-map .map-earth {position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:24%!important;aspect-ratio:1!important;border-radius:50%!important;background:#999!important;border:1px solid white!important;display:grid!important;place-items:center!important;color:#111!important;font-size:12px!important}
@media(max-width:760px) {
 .booking-grid {grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 #localEvents .event-row,#allEvents .event-row {grid-template-columns:82px minmax(0,1fr)!important;gap:10px!important;padding:10px!important}
 #ticketOptions .ticket-option {grid-template-columns:76px minmax(0,1fr) auto!important;gap:8px!important;padding:8px!important}
 #ticketOptions .ticket-thumb {width:76px!important;height:55px!important}
 .stadium-map.detailed-map {max-width:100%!important;aspect-ratio:1.35!important}
}

/* Recovery patch: force the event cards to render visibly in the schedule section */
#localEvents, #allEvents {
  display: flex !important; flex-direction: column !important;
  width: 100% !important; min-height: 1px !important; height: auto !important;
  max-height: none !important; overflow: visible !important;
  visibility: visible !important; opacity: 1 !important;
  position: relative !important; z-index: 1 !important;
  margin: 12px 0 26px !important; gap: 10px !important;
}
#localEvents > *, #allEvents > * { visibility: visible !important; opacity: 1 !important; }
#localEvents .event-row, #allEvents .event-row {
  display: grid !important; grid-template-columns: 92px minmax(0,1fr) !important;
  width: 100% !important; min-height: 112px !important; height: auto !important;
  padding: 12px !important; margin: 0 !important; box-sizing: border-box !important;
  background: #fff !important; color: #172033 !important;
  border: 1px solid #e1e6ee !important; border-radius: 12px !important;
  visibility: visible !important; opacity: 1 !important; overflow: visible !important;
}
#localEvents .event-date, #allEvents .event-date {
  display: flex !important; flex-direction: column !important; justify-content: center !important;
  align-items: center !important; min-height: 82px !important; width: 100% !important;
  background: #eee7ff !important; color: #5b2eb7 !important; border-radius: 9px !important;
}
#localEvents .event-main, #allEvents .event-main {
  display: flex !important; flex-direction: column !important; gap: 5px !important;
  min-width: 0 !important; color: #172033 !important;
}
#localEvents .event-title, #allEvents .event-title {display:block!important;color:#111827!important;font-size:15px!important;font-weight:800!important;line-height:1.3!important}
#localEvents .event-venue, #allEvents .event-venue {display:block!important;color:#667085!important;font-size:12px!important;line-height:1.45!important}
#localEvents .event-actions, #allEvents .event-actions {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important}
#localEvents .choose-ticket, #allEvents .choose-ticket {display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#7137ef!important;color:#fff!important;border:0!important;border-radius:7px!important;padding:8px 11px!important}
#localEvents .event-status, #allEvents .event-status {display:inline-block!important;align-self:flex-start!important;color:#6d28d9!important;font-size:11px!important}
#localEvents .contoh-price, #allEvents .contoh-price {color:#111827!important;font-size:12px!important;font-weight:700!important}
@media(max-width:650px) {
  #localEvents .event-row, #allEvents .event-row {grid-template-columns:76px minmax(0,1fr)!important;padding:9px!important;gap:9px!important}
  #localEvents .event-date, #allEvents .event-date {min-height:74px!important}
  #localEvents .event-title, #allEvents .event-title {font-size:13px!important}
}

/* Clear order status and completion message */
.order-status {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 14px 0 10px;
  padding: 12px 14px;
  border: 1px solid #e5b454;
  border-radius: 10px;
  background: #fff8e6;
  color: #7a4b00;
  font-size: 14px;
  font-weight: 700;
}
.confirmation h3 { margin-bottom: 12px; line-height: 1.35; }
.confirmation #confirmationText { line-height: 1.65; margin-bottom: 12px; }
.confirmation .fine-print { line-height: 1.55; }

/* Order summary ticket */
.eticket-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:14px;border-bottom:1px dashed rgba(150,170,195,.45)}
.eticket-mark{font-weight:900;letter-spacing:.4px;color:#a78bfa}
.eticket-label{font-size:11px;font-weight:800;letter-spacing:1px;color:#64748b}
.eticket-intro{line-height:1.6}
.order-ticket-details{background:#f8fafc;color:#172033;border:1px solid #dbe3ee;border-radius:12px;padding:14px;margin:14px 0}
.order-ticket-meta,.order-ticket-total{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:8px 0;border-bottom:1px solid #e2e8f0;font-size:13px}
.order-ticket-meta span,.order-ticket-total span{color:#64748b;flex:0 0 42%}
.order-ticket-meta strong,.order-ticket-total strong{text-align:right;overflow-wrap:anywhere}
.order-ticket-items{margin:8px 0;border-top:1px solid #dbe3ee}
.order-ticket-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e2e8f0;font-size:13px}
.order-ticket-row span{display:flex;flex-direction:column;gap:4px;min-width:0}
.order-ticket-row small{color:#64748b}
.order-ticket-row>strong{white-space:nowrap}
.order-ticket-total.grand{border-bottom:0;border-top:2px solid #cbd5e1;margin-top:4px;padding-top:12px;font-size:16px;font-weight:900;color:#5b21b6}
.whatsapp-confirm{display:block;width:100%;margin:14px 0 10px;white-space:normal;line-height:1.4}
@media(max-width:480px){.order-ticket-details{padding:10px}.order-ticket-meta,.order-ticket-total{font-size:12px;gap:8px}.order-ticket-meta span,.order-ticket-total span{flex-basis:39%}.order-ticket-row{font-size:12px}}

/* Mobile-friendly order status layout */
.order-status {
  display: block;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.order-status strong {
  display: block;
  margin-bottom: 3px;
}
