/* =========================================================
   AS SALIK TRAVEL & TOURS — V3.4
   - Senarai bank Malaysia
   - Pembayaran desktop dua kolum
   - Ringkasan pakej dinamik di Daftar Pakej
   - Penjajaran tiket dan responsif menyeluruh
   ========================================================= */

:root{
  --v34-maroon:#761020;
  --v34-maroon-deep:#45050f;
  --v34-gold:#d6aa45;
  --v34-cream:#fff9f1;
  --v34-line:#ead9d4;
  --v34-ink:#351f23;
  --v34-muted:#7f6c70;
  --v34-shadow:0 20px 50px rgba(74,10,21,.10);
}

/* ---------- Payment ---------- */
.payment-section-v34{background:linear-gradient(180deg,#fff,#fbf5ed)}
.payment-checkout-grid-v34{
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.payment-progress-card-v34,.payment-form-card-v34{
  margin:0!important;
  border:1px solid var(--v34-line)!important;
  border-radius:28px!important;
  box-shadow:var(--v34-shadow)!important;
  min-width:0;
}
.payment-progress-card-v34{position:sticky;top:105px;padding:30px!important}
.payment-form-card-v34{padding:30px!important}
.payment-card-title-v34{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.payment-card-title-v34 h2{margin:3px 0 0!important;font-size:clamp(1.55rem,2.4vw,2rem)!important;color:var(--v34-ink)!important}
.payment-card-icon-v34{width:54px;height:54px;display:grid;place-items:center;flex:none;border-radius:17px;background:linear-gradient(145deg,#7a1122,#4a0610);color:#ffe493;font-size:1.25rem;box-shadow:0 12px 25px rgba(75,5,16,.2)}
.payment-form-head-v34{margin-bottom:24px!important;padding-bottom:18px;border-bottom:1px solid var(--v34-line)}
.payment-form-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.manual-payment-fields-v34{display:grid;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--v34-line)}
.manual-payment-fields-v34[hidden]{display:none!important}
.bank-transfer-card-v34{display:grid!important;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:center;margin:0!important;padding:19px!important;border:1px solid #efd8a4!important;border-radius:19px!important;background:linear-gradient(145deg,#fffaf0,#fff)!important}
.bank-transfer-icon-v34{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#f4d97e,#d0a43d);color:#5a0b17;font-size:1.35rem}
.bank-transfer-card-v34 h3{margin:3px 0!important;font-size:1.05rem!important;color:var(--v34-maroon)!important}
.bank-transfer-card-v34 strong{display:block;font-size:1.24rem;color:var(--v34-ink)}
.bank-transfer-card-v34 p{margin:3px 0 0;color:var(--v34-muted);font-size:.8rem}
.payment-receipt-field-v34{margin:0!important}
.payment-submit-v34{width:100%!important;margin-top:22px!important;min-height:54px!important;border-radius:16px!important}
.payment-review-note-v34{margin-top:20px!important}

/* ---------- Admin settings bank fields ---------- */
.settings-form-v34 .settings-bank-field-v34{position:relative;padding:16px;border:1px solid #ecd9bd;border-radius:17px;background:#fff9ef}
.settings-form-v34 .settings-bank-field-v34 label{color:var(--v34-maroon)}
.settings-form-v34 select[name="bank_name"]{background-color:#fff}

/* ---------- Dynamic package summary ---------- */
.purchase-layout-v34{align-items:start}
.registration-aside-v34{min-width:0}
.purchase-summary-v34{transition:box-shadow .25s ease,transform .25s ease}
.purchase-summary-v34:hover{box-shadow:0 26px 65px rgba(73,8,18,.15)!important}
.registration-summary-image-v34{height:235px!important}
.registration-summary-image-v34 img{transition:opacity .25s ease,transform .45s ease}
.registration-summary-image-v34:hover img{transform:scale(1.025)}
.registration-summary-body-v34>h3{margin:7px 0 0!important;font-size:clamp(1.45rem,2.2vw,1.85rem)!important;color:var(--v34-ink)!important;line-height:1.18!important}
.registration-package-empty-v34{display:grid;place-items:center;text-align:center;gap:7px;padding:24px 17px;margin:16px 0;border:1px dashed #d8bdc1;border-radius:18px;background:#fffaf5;color:var(--v34-muted)}
.registration-package-empty-v34[hidden],.registration-package-detail-v34[hidden]{display:none!important}
.registration-package-empty-v34 i{font-size:1.55rem;color:var(--v34-gold)}
.registration-package-empty-v34 strong{color:var(--v34-maroon)}
.registration-package-empty-v34 span{font-size:.76rem;line-height:1.45;max-width:300px}
.registration-package-detail-v34{display:grid;gap:14px;margin:16px 0 22px}
.registration-detail-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.registration-detail-grid-v34>div{display:grid;grid-template-columns:31px minmax(0,1fr);column-gap:8px;align-items:center;padding:11px;border:1px solid #eee0dd;border-radius:14px;background:#fff}
.registration-detail-grid-v34 i{grid-row:1/3;width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#f8e9c2;color:var(--v34-maroon)}
.registration-detail-grid-v34 span{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--v34-muted);font-weight:800}
.registration-detail-grid-v34 strong{font-size:.73rem;line-height:1.35;color:var(--v34-ink);overflow-wrap:anywhere}
.registration-price-box-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border-radius:17px;background:linear-gradient(135deg,#5b0916,#81162a);color:#fff}
.registration-price-box-v34>div{min-width:0}.registration-price-box-v34>div+div{padding-left:12px;border-left:1px solid rgba(255,255,255,.18)}
.registration-price-box-v34 span,.registration-price-box-v34 strong{display:block}.registration-price-box-v34 span{font-size:.68rem;color:#f6d9dd}.registration-price-box-v34 strong{margin-top:4px;font-size:1.08rem;color:#ffe191;overflow-wrap:anywhere}
.registration-detail-foot-v34{display:flex;gap:8px;flex-wrap:wrap}.registration-detail-foot-v34 span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #ead9d4;border-radius:999px;background:#fff;font-size:.69rem;color:var(--v34-muted)}.registration-detail-foot-v34 i,.registration-detail-foot-v34 b{color:var(--v34-maroon)}
.registration-detail-link-v34{width:100%;justify-content:center!important}
.registration-flow-title-v34{padding-top:20px;border-top:1px solid var(--v34-line)}
.registration-flow-title-v34 h4{margin:6px 0 0;font-family:"Playfair Display",serif;font-size:1.25rem;color:var(--v34-ink)}
.registration-steps-v34{margin-top:13px!important}

/* ---------- Ticket alignment ---------- */
.ticket-workspace-v34{grid-template-columns:minmax(320px,.42fr) minmax(0,1.58fr)!important;gap:22px!important}
.ticket-list-card-v34{border:1px solid var(--v34-line)!important;border-radius:23px!important;box-shadow:var(--v34-shadow)!important}
.ticket-list-head-v34{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:19px 20px!important}
.ticket-list-head-v34 h3,.ticket-list-head-v34 p{margin:0!important}.ticket-list-head-v34 p{margin-top:2px!important}
.ticket-total-v34{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f6e8ea;color:var(--v34-maroon);font-size:.7rem;font-weight:900}
.ticket-list-v34{padding:10px!important;gap:8px!important}
.ticket-list-item-v34{
  grid-template-columns:46px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:96px;
  padding:14px!important;
  border-radius:18px!important;
  border:1px solid transparent!important;
}
.ticket-list-item-v34:hover,.ticket-list-item-v34.active{transform:translateY(-1px);box-shadow:0 10px 25px rgba(68,6,16,.07)}
.ticket-list-icon-v34{width:46px!important;height:46px!important;align-self:center!important;justify-self:center!important;margin:0!important;border-radius:14px!important;font-size:1rem}
.ticket-list-main-v34{min-width:0;display:grid;gap:4px}
.ticket-list-reference-v34{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--v34-muted);font-size:.64rem;line-height:1.25}
.ticket-list-reference-v34 span{font-weight:800;color:#765f64}.ticket-list-reference-v34 time:before{content:"•";margin-right:5px;color:#c4a7ab}
.ticket-list-main-v34>strong{display:block!important;margin:0!important;font-size:.88rem!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--v34-ink)}
.ticket-list-main-v34>small{font-size:.68rem!important;color:var(--v34-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-list-state-v34{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;min-width:max-content;text-align:right}
.ticket-list-state-v34 small{display:inline-flex!important;align-items:center;gap:5px!important;margin:0!important;font-size:.63rem!important;color:var(--v34-muted)!important}
.ticket-thread-card-v34{border:1px solid var(--v34-line)!important;border-radius:23px!important;box-shadow:var(--v34-shadow)!important}
.ticket-create-card-v34{border:1px solid var(--v34-line)!important;box-shadow:0 14px 34px rgba(68,6,16,.07)!important}

/* ---------- General responsive hardening ---------- */
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.form-control,.form-select,.form-textarea,.pdo-input,.pdo-select,.pdo-textarea{max-width:100%}
.panel-content,.container,.card,.panel-card{min-width:0}
.table-responsive,.pdo-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1120px){
  .payment-checkout-grid-v34{grid-template-columns:1fr!important}
  .payment-progress-card-v34{position:static}
  .payment-form-card-v34{margin-top:4px!important}
  .ticket-workspace-v34{grid-template-columns:1fr!important}
  .ticket-list-card-v34{position:static!important}
  .ticket-list-v34{max-height:360px!important}
}

@media(max-width:900px){
  .purchase-layout-v34{grid-template-columns:1fr!important}
  .registration-aside-v34{order:-1}
  .purchase-summary-v34{display:grid!important;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)}
  .registration-summary-image-v34{height:100%!important;min-height:420px}
  .registration-summary-body-v34{max-height:none}
}

@media(max-width:720px){
  .payment-form-grid-v34{grid-template-columns:1fr}
  .payment-progress-card-v34,.payment-form-card-v34{padding:22px!important;border-radius:22px!important}
  .payment-card-title-v34{align-items:flex-start}
  .bank-transfer-card-v34{grid-template-columns:48px minmax(0,1fr)}
  .bank-transfer-icon-v34{width:48px;height:48px}
  .settings-form-v34 .pdo-form-grid{grid-template-columns:1fr!important}
  .settings-form-v34 .pdo-field{grid-column:1!important}
  .ticket-list-item-v34{grid-template-columns:42px minmax(0,1fr)!important;min-height:0}
  .ticket-list-icon-v34{width:42px!important;height:42px!important}
  .ticket-list-state-v34{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-top:3px;text-align:left}
  .ticket-thread-head-v33{padding:17px!important}
  .ticket-messages-v33{padding:14px!important}
  .ticket-message-bubble-v33{max-width:calc(100% - 46px)!important}
  .ticket-reply-v33{padding:15px!important}
}

@media(max-width:620px){
  .purchase-summary-v34{display:block!important}
  .registration-summary-image-v34{height:220px!important;min-height:0}
  .registration-detail-grid-v34,.registration-price-box-v34{grid-template-columns:1fr}
  .registration-price-box-v34>div+div{padding:10px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .registration-detail-foot-v34{display:grid;grid-template-columns:1fr}
  .registration-detail-foot-v34 span{justify-content:center}
  .purchase-form-v33 .form-grid{grid-template-columns:1fr!important}
  .purchase-form-v33 .form-span-2{grid-column:1!important}
  .ticket-stat-grid-v34{grid-template-columns:1fr!important}
  .ticket-list-head-v34{padding:16px!important}
  .ticket-list-v34{padding:7px!important}
  .ticket-list-item-v34{padding:12px!important;border-radius:15px!important}
  .ticket-list-reference-v34{display:grid;gap:2px}.ticket-list-reference-v34 time:before{display:none}
}

@media(max-width:420px){
  .payment-progress-card-v34,.payment-form-card-v34{padding:18px!important}
  .payment-card-icon-v34{width:46px;height:46px;border-radius:14px}
  .bank-transfer-card-v34{grid-template-columns:1fr;text-align:center}.bank-transfer-icon-v34{margin:auto}
  .ticket-list-item-v34{grid-template-columns:38px minmax(0,1fr)!important;gap:9px!important}
  .ticket-list-icon-v34{width:38px!important;height:38px!important;border-radius:12px!important}
  .ticket-list-state-v34{grid-column:1/-1;margin-left:47px;width:calc(100% - 47px)}
}
