/* =========================================
   GLOBAL HEADER
========================================= */

.gtrip-header{
    background:
    linear-gradient(
    180deg,
    #000000 0%,
    #020617 100%
    ) !important;

    border-bottom:
    1px solid rgba(255,255,255,.06);
}

.booking-section-divider{

    border:none;
    border-top:1px solid #e5e7eb;

    margin:12px 0;
}

.home-mode #booking-summary-top,
.home-mode #booking-summary-breakdown{
    display:none !important;
}

.home-mode .booking-trip{
    margin-bottom:0;
    padding-bottom:0;
    border-bottom:none;
}



.summary-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:8px;
    font-weight:400;
    font-size:18px;
    color:#111827;
}

.summary-line span:last-child{
        font-size:16px;
    font-weight:400;
}

.summary-line.discount{
    color:#16a34a;
}

.summary-line.total span{
    font-size:18px !important;
    font-weight:700 !important;
}

.summary-divider{
    border:none;
    border-top:1px solid #e5e7eb;
    margin:14px 0;
}

.summary-currency-row{

    text-align:right;

    margin-top:8px;

    font-size:18px;

    font-weight:600;

    color:#111827;
}

.summary-grand-total{
    margin-top:10px;
    font-size:18px;
    font-weight:700;
    color:#6b7280;
}

.summary-currency{
    margin-top:4px;
    font-size:16px;
    color:#6b7280;
}
/* =========================================
   FORCE HEADER BACKGROUND
========================================= */

body.page-id-6 header{
    background:
    linear-gradient(
    180deg,
    #000000 0%,
    #020617 100%
    ) !important;
}

/* kill inner black row */

body.page-id-6 header .wp-block-group,
body.page-id-6 header .wp-block-group__inner-container,
body.page-id-6 header .wp-block-navigation{
    background:transparent !important;
}

/* =====================================
   FIELD BLOCK
===================================== */
.gtrip-field {
  margin-bottom: 8px;
}

.gtrip-field label {

  display:block;

  margin-bottom:8px;

  font-size:18px;

  font-weight:600;

  line-height:1.4;

  color:#111827;
}
/* =====================================
   INPUT + SELECT
===================================== */
#gtrip-route,
#gtrip-date,
.gtrip-input {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  font-size: 15px;
  border-radius: 12px;
  border: 1.5px solid #e5e5e5;
  background: #fff;
  box-sizing: border-box;
}

#gtrip-route:focus,
#gtrip-date:focus,
.gtrip-input:focus {
  outline: none;
  border-color: #2ec4b6;
  box-shadow: 0 0 0 3px rgba(46,196,182,0.15);
}



/* =====================================
   PASSENGERS
===================================== */
.gtrip-passengers {
  margin-top: 6px;
}

.pax-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.pax-control {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pax-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: none;
  background: #2ec4b6;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
}

.pax-btn:active {
  transform: scale(0.95);
}


/* =====================================
   VEHICLE CARDS
===================================== */

#vehicle-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vehicle-card {
  width: 100%;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #e5e5e5;
  background: #fff;
  transition: all 0.2s ease;
  cursor: pointer;
}

.vehicle-card:hover {
  border-color: #2ec4b6;
  background: #f2fffc;
}

.vehicle-card.selected {
  border-color: #2ec4b6;
  background: #eafff6;
}

#vehicle-cards .vehicle-card:not(.selected) {
  opacity: unset;
}


.vehicle-meta,
.vehicle-spec {
  font-size: 18px;
  opacity: 0.85;
  margin-bottom: 6px;
}

.vehicle-image {
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

.vehicle-image img {
  max-height: 90px;
  max-width: 100%;
  object-fit: contain;
}
.vehicle-placeholder {
  margin-top: 8px;
  font-size: 18px;
  color: #777;
}



/* =====================================
   TOTAL
===================================== */
.gtrip-total-block {
  margin-top: 16px;
  margin-bottom: 24px;
}

#gtrip-total-price {
  font-size: 22px;
  font-weight: 700;
  margin-top: 6px;
}

/* =====================================
   CONTINUE BUTTON
===================================== */
#btn-continue-payment {
  width: 100%;
  height: 52px;
  border: none;
  border-radius: 16px;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #2ec4b6;
  color: #fff;
}

#btn-continue-payment:disabled {
  background: #cfd8dc;
  cursor: not-allowed;
}

/* =====================================
   HIDE FOOTER (Booking only)
===================================== */
body.page-id-6 footer {
  display: none !important;
}
.summary-return-date {
  font-size: 18px;
  color: #6b7280;
  margin-top: 4px;
}

/* =====================================
   PAYMENT PAGE
===================================== */

.gtrip-payment-container {
  max-width: 520px;
  margin: 0 auto 60px;
  padding: 20px;
}

.gtrip-payment-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}

.gtrip-payment-title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 28px;
}

.gtrip-payment-subtitle {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 18px;
}

.gtrip-summary-box {
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  padding: 16px;
  background: #fafafa;
  margin-bottom: 22px;
}

.gtrip-summary-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 18px;
}

.gtrip-summary-row.total {
  font-size: 18px;
  font-weight: 700;
  padding-top: 12px;
  border-top: 1px solid #ddd;
  margin-top: 12px;
}

.gtrip-payment-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

.gtrip-method-card {
  border: 1.5px solid #e5e5e5;
  border-radius: 14px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
}

.gtrip-method-card:hover {
  border-color: #2ec4b6;
  background: #f2fffc;
}

.gtrip-method-card.active {
  border-color: #2ec4b6;
  background: #eafff6;
}

.gtrip-method-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
}

.gtrip-method-label input {
  accent-color: #2ec4b6;
}

#btn-confirm-payment {
  width: 100%;
  height: 52px;
  border: none;
  border-radius: 16px;
  background: #2ec4b6;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

#btn-confirm-payment:hover {
  opacity: 0.92;
}

#btn-confirm-payment:disabled {
  background: #cfd8dc;
  cursor: not-allowed;
}

#payment-message {
  margin-top: 14px;
  font-size: 18px;
  color: #dc2626;
}



/* =====================================
   PASSENGER COUNT TEXT
===================================== */

#gtrip-adult-count,
#gtrip-child-count{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:24px;

    font-size:18px;
    font-weight:700;
    line-height:1;

    color:#111827 !important;

    opacity:1 !important;

    background:transparent !important;
}

/* hide title */

.home-mode h2{
    display:none;
}

.home-mode .booking-summary h3{
    display:none;
}



/* =====================================
BOOKING PAGE — MATCH CHECKOUT STYLE
===================================== */


/* ROOT */

body.page-id-6 #gtrip-booking-root{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:56px 24px 80px;
}

/* LAYOUT */

body.page-id-6 .booking-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 420px !important;
  gap:56px !important;
 align-items:flex-start;
}

/* SIDEBAR */

body.page-id-6 .booking-sidebar{

    position:-webkit-sticky;
    position:sticky;

    top:120px;

    align-self:start;

    height:fit-content;

    z-index:10;
}

body.page-id-6 .booking-layout{

    overflow:visible !important;
}

body.page-id-6 #gtrip-booking-root{

    overflow:visible !important;
}
/* SUMMARY CARD */

body.page-id-6 .booking-summary{
position:sticky;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:28px;
  padding:32px;
  box-shadow:
  0 4px 12px rgba(0,0,0,.03),
  0 18px 40px rgba(0,0,0,.04);
}

/* TITLE */

body.page-id-6 .booking-summary h3{
    position:sticky;
  margin:0 0 28px;
  font-size:22px;
  line-height:1.1;
  font-weight:700;
  color:#111827;
}

/* ROW */

body.page-id-6 .summary-row{
    position:sticky;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  font-size:15px;
  line-height:1.45;
  margin-bottom:12px !important;
}




/* VEHICLE CARD */

body.page-id-6 .booking-summary .vehicle-card{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:20px;
  padding:20px;
  margin:18px 0;
}

body.page-id-6 .vehicle-title{
  font-size:18px;
  font-weight:600;
  color:#111827;
  margin-bottom:8px;
}

/* TOTAL */

body.page-id-6 .summary-row.total{
  margin-top:18px !important;
  padding-top:18px !important;
  border-top:1px solid #e5e7eb !important;
  font-size:34px;
  font-weight:700;
  color:#111827;
}


/* MOBILE */

@media(max-width:991px){

  body.page-id-6 #gtrip-booking-root{
    padding:36px 18px 72px;
  }


  .booking-sidebar{
    width:100%;
    position:static;
  }

  body.page-id-6 .booking-summary{
    padding:24px;
    border-radius:24px;
  }

  body.page-id-6 .booking-summary h3{
    font-size:22px;
  }


}

.vehicle-features{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}

.feature-pill{
    display:inline-flex;
    align-items:center;

    padding:5px 10px;

    font-size:11px;
    font-weight:600;

    color:#475569;

    background:#ffffff;

    border:1px solid #dbe4ee;

    border-radius:999px;

    line-height:1;
}

.vehicle-note{

    display:inline-block;

    margin-top:10px;

    padding:8px 14px;

    background:#eef6ff;

    border:1px solid #dbeafe;

    border-radius:999px;

    font-size:12px;

    font-weight:500;

    color:#2563eb;
}
/* =========================================
   YOUR TRIP
========================================= */

.booking-trip{

    margin-bottom:10px;
    padding-bottom:10px;

    border-bottom:1px solid #e5e7eb;
}

.booking-trip .gtrip-field{

    margin-bottom:8px;
}

.booking-trip label{

    display:block;

    margin-bottom:8px;

    font-size:16px;
    font-weight:700;
}

.booking-trip .gtrip-add-return-btn{

    height:72px;

    border-radius:16px;

    font-size:16px;
}

.booking-trip .gtrip-passengers{

    gap:8px;
}

/* =====================================
BOOKING SUMMARY — BALANCED TYPOGRAPHY
===================================== */

/* BREAKDOWN ROW */

body.page-id-6 .summary-row > span:first-child{
    font-weight:600 !important;
  color:#111827 !important;
}

body.page-id-6 .summary-row strong{
  color:#111827 !important;
  font-weight:700 !important;
}

/* TOTAL LABEL */

.summary-row.total > span:first-child{
    font-size:18px !important;
    font-weight:700 !important;
}
/* TOTAL PRICE */

body.page-id-6 .summary-row.total strong{
  font-size:18px !important;
  font-weight:700 !important;
}
/* THB / KRW */

#gtrip-total-price small,
#gtrip-total-price .converted-price,
#gtrip-total-price div{

  display:block !important;

  margin-top:4px !important;

  font-size:16px !important;

  line-height:1.4 !important;

  font-weight:500 !important;

  color:#6b7280 !important;
}




/* CONTINUE BUTTON */

body.page-id-6 #btn-continue-payment{

  height:54px !important;

  border-radius:16px !important;

  font-size:18px !important;

  font-weight:700 !important;
  margin-top:12px;

}

/* =====================================
   BOOKING LEFT TYPOGRAPHY
===================================== */

.pax-row span{

  font-size:18px;

  font-weight:600;

  color:#111827;
}

.vehicle-section label{

  font-size:18px;

  font-weight:700;
}

#vehicle-placeholder{

  font-size:16px;

  line-height:1.5;

  color:#6b7280;
}

/* =====================================
   FORCE BOOKING TEXT COLORS
===================================== */

body.page-id-6{
    background: #ffffff !important;
    color:#111827 !important;
}

/* labels */

body.page-id-6 label,
body.page-id-6 .gtrip-field label,
body.page-id-6 .vehicle-section label{
    color:#111827 !important;
}

/* passenger rows */

body.page-id-6 .pax-row,
body.page-id-6 .pax-row span{
    color:#111827 !important;
}

/* vehicle cards */

body.page-id-6 .vehicle-title{
    color:#111827 !important;
    font-size:18px;
    font-weight:600;
    margin-bottom:6px;
}

body.page-id-6 .vehicle-meta,
body.page-id-6 .vehicle-spec,
body.page-id-6 .vehicle-placeholder{
    color:#6b7280 !important;
    opacity:1 !important;
}

/* form text */

body.page-id-6 input,
body.page-id-6 select,
body.page-id-6 textarea{
    color:#111827 !important;
}

/* booking left headings */

body.page-id-6 h1,
body.page-id-6 h2,
body.page-id-6 h3,
body.page-id-6 h4{
    color:#111827 !important;
}

.vehicle-row{

    display:flex;
    align-items:center;
    gap:18px;
}

.vehicle-image-wrap{

    flex-shrink:0;
}

.vehicle-image{

    width:120px;
    height:auto;
    display:block;
}

.vehicle-info{

    flex:1;
}


.vehicle-meta{

    color:#6b7280;
    font-size:16px;
    margin-bottom:8px;
}

.vehicle-spec-row{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:8px;
}

.vehicle-spec{
    display:flex;
    align-items:center;
    gap:4px;
    font-size:16px;
    color:#374151;
    margin-bottom:4px;
}

.vehicle-card{
    position:relative;
}

.vehicle-title-wrap{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.vehicle-inline-badge{
    display:inline-flex;
    align-items:center;

    padding:4px 10px;

    border-radius:999px;

    font-size:10px;
    font-weight:700;
    letter-spacing:.4px;

    color:#fff;

    line-height:1;
}

.badge-green{
    background:#10b981;
}

.badge-red{
    background:#ef4444;
}

.vehicle-price-wrap{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.vehicle-price-normal{
    font-size:22px;
    font-weight:700;
    color:#111827;
    line-height:1;
}

.vehicle-price-old{
    font-size:20px;
    color:#9ca3af;
    text-decoration:line-through;
    margin:0;
}

.vehicle-price-sale{
    font-size:22px;
    font-weight:800;
    color:#ef4444;
    line-height:1;
    margin:0;
}

.vehicle-price-convert{
    width:100%;
    text-align:right;

    font-size:14px;
    color:#6b7280;

    margin-top:4px;
}


.vehicle-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:12px;

    margin-bottom:10px;
}

/* =====================================
   FORCE LIGHT BACKGROUND — BOOKING
===================================== */


/* booking wrapper */

body.page-id-6 #gtrip-booking-root,
body.page-id-6 .booking-layout,
body.page-id-6 .booking-main{
    background:transparent !important;
}

/* =========================================
   KILL THEME WIDTH — HOME
========================================= */

body.page-id-6 main,
body.page-id-6 .wp-site-blocks,
body.page-id-6 .entry-content,
body.page-id-6 .wp-block-post-content,
body.page-id-6 .is-layout-constrained,
body.page-id-6 .wp-block-group{
  width:100% !important;
  max-width:none !important;

  padding-left:0 !important;
  padding-right:0 !important;

  margin-left:0 !important;
  margin-right:0 !important;
}

/* =========================================
   HOMEPAGE FULL WIDTH
========================================= */

.gtrip-homepage{
    width:100%;
    max-width:1400px;
    margin:auto;
    padding:0 24px;
}

/* =========================================
   RESET PAGE BACKGROUND
========================================= */

body.page-id-6{
    background: #ffffff !important;
}

body.page-id-6 main{
    background: #ffffff !important;
}

