/* ==================================================
   KLOOK STYLE — Minimal Premium Checkout (OPTIMIZED)
================================================== */

/* 1. REMOVE "Open at" ROW */
.woocommerce-checkout-review-order-table .reservation-detail:has(svg) {
  display: none;
}

/* 2. PRODUCT TITLE */
.woocommerce-checkout-review-order-table .product-name {
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #1f2937;
}

/* 3. DATE LINE */
.woocommerce-checkout-review-order-table .reservation-detail .value {
  font-size: 13.5px;
  line-height: 1.5;
  color: #374151;
}

.woocommerce-checkout-review-order-table .reservation-detail:first-of-type .value {
  font-weight: 600;
  color: #111827;
}

/* 4. PRICE AREA */
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  vertical-align: middle;
}

.woocommerce-checkout-review-order-table .cart-subtotal {
  color: #6b7280;
  font-size: 13.5px;
}

.woocommerce-checkout-review-order-table .order-total {
  font-weight: 700;
  font-size: 15px;
  border-top: 1px solid #e5e7eb;
  padding-top: 14px;
}

/* 5. RIGHT BOX */
.woocommerce-checkout-review-order-table {
  background: #ffffff;
}

/* 6. FORM LEFT */
.woocommerce-checkout label {
  font-weight: 500;
  line-height: 1.5;
  color: #374151;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  border-radius: 8px;
  padding: 12px 14px;
}

/* 7. Trust micro-copy */
.woocommerce-checkout-review-order-table .order-total td::after {
  content: "✓ Professional driver · ✓ Licensed vehicle";
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #6b7280;
}

/* ================================
   Order Received – PRO OTA Style
   ================================ */

.woocommerce-order {
  max-width: 980px;
  margin: 50px auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1f2937;
}

.woocommerce-notice--success {
  background: #f8fafc;
  border-left: 4px solid #0f766e;
  padding: 18px 22px;
  font-size: 15px;
  margin-bottom: 35px;
}

.woocommerce-order h2 {
  margin-top: 48px;
  margin-bottom: 18px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.2px;
}

/* Payment / Bank Details Card */
.woocommerce-order .woocommerce-bacs-bank-details {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 26px;
  margin-bottom: 40px;
}

.woocommerce-bacs-bank-details h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
}

.woocommerce-bacs-bank-details li {
  font-size: 15px;
  line-height: 1.6;
}

/* Order Table */
.woocommerce-order table {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}

.woocommerce-order table th {
  background: #f9fafb;
  font-weight: 600;
  font-size: 14px;
  padding: 14px;
}

.woocommerce-order table td {
  padding: 14px;
  font-size: 14px;
}

.woocommerce-order .order-total th,
.woocommerce-order .order-total td {
  font-size: 17px;
  font-weight: 700;
  border-top: 2px solid #e5e7eb;
}

#printable-area .invoice-company {
  border-bottom: 2px solid #111827;
  padding-bottom: 20px;
}

/* ===============================
   MOBILE ORDER DETAILS CLEAN UI
================================ */
@media (max-width: 768px) {
  * {
    animation: none;
    transition: none;
  }

  .woocommerce-table,
  .woocommerce-table tr,
  .woocommerce-table td,
  .woocommerce-table th {
    display: block;
    width: 100%;
    border: none;
  }

  .woocommerce-table {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
  }

  .woocommerce-table tr {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px dashed #e5e7eb;
  }

  .woocommerce-table tr:last-child {
    border-bottom: none;
  }

  .woocommerce-table th {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 4px;
  }

  .woocommerce-table td {
    font-size: 15px;
    font-weight: 500;
    color: #111827;
  }

  .woocommerce-order-details .product-name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px;
  }

  .order-total td {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    text-align: right;
  }

  .order-total th {
    font-size: 14px;
    text-transform: uppercase;
  }

  .woocommerce-table thead {
    display: none;
  }
}

/* Kill image zoom/transition */
.trip-inner img,
.trip-thumbnail img,
.trip-card img,
.togo-trip-item img,
.togo-st-gallery img,
.togo-st-gallery-item img {
  transition: none;
  transform: none;
}

.togo-st-gallery-item:hover img,
.togo-st-gallery:hover img {
  transform: none;
}

/* Sticky booking box – desktop only */
@media (min-width: 1024px) {
  #booking {
    position: sticky;
    top: 100px;
    width: 100%;
    max-width: 100%;
    align-self: flex-start;
    z-index: 50;
    overflow: visible;
  }

  #booking > .elementor-widget-container,
  #booking .togo-st-form-booking,
  #booking .togo-st-form-booking__main {
    width: 100%;
    max-width: 100%;
  }

  .togo-st-form-booking__main,
  .togo-st-form-booking__content,
  [class*="booking"] [class*="option"],
  [class*="booking"] [class*="availability"] {
    scroll-margin-top: 120px;
  }

  html {
    scroll-padding-top: 120px;
  }
}

/* Reviews accent color */
.togo-st-reviews {
  --e-global-color-accent: #0d6efd;
}

.togo-st-mini-review,
.togo-st-mini-review .togo-st-mini-review-score {
  color: #0d6efd;
}

.togo-st-mini-review svg,
.togo-st-mini-review svg path {
  fill: #0d6efd;
  stroke: #0d6efd;
}

/* Search form buttons */
@media (max-width: 767px) {
  .elementor-widget-togo-search-form button,
  .elementor-widget-togo-search-form button[type="submit"],
  .elementor-widget-togo-search-form .search-submit {
    font-size: 16px;
    font-weight: 600;
  }
}

@media (min-width: 1024px) {
  .elementor-widget-togo-search-form button svg,
  .togo-search-form button svg,
  .togo-search-form .search-submit svg {
    width: 16px;
    height: 16px;
  }

  .elementor-widget-togo-search-form button svg path,
  .togo-search-form button svg path,
  .togo-search-form .search-submit svg path {
    stroke-width: 3px;
  }
}

/* Responsive Destinations mega menu position */
@media (min-width: 1024px) and (max-width: 1366px) {
  .site-header li:has(> a[href*="destinations"]) > .sub-menu,
  .site-header li:has(> a[href*="destinations"]) > .mega-menu,
  .site-header li:has(> a[href*="destinations"]) .mega-menu {
    transform: translateX(-14vw);
  }
}

@media (min-width: 1367px) {
  .site-header li:has(> a[href*="destinations"]) > .sub-menu,
  .site-header li:has(> a[href*="destinations"]) > .mega-menu,
  .site-header li:has(> a[href*="destinations"]) .mega-menu {
    transform: translateX(-18vw);
  }
}

/* Sticky checkout right column */
@media (min-width: 1024px) {
  .woocommerce-checkout form.checkout > .col2-set + *,
  .woocommerce-checkout .checkout-sidebar,
  .woocommerce-checkout .order-summary,
  .woocommerce-checkout .woocommerce-checkout-review-order {
    position: sticky;
    top: 100px;
    align-self: flex-start;
    z-index: 20;
  }

  .woocommerce-checkout form.checkout,
  .woocommerce-checkout .checkout,
  .woocommerce-checkout .checkout-wrapper {
    overflow: visible;
  }
}

/* Fix coupon layout - Cart page */
.woocommerce-cart .cart-discount,
.woocommerce-cart .coupon,
.woocommerce-cart [class*="discount"] {
  position: relative;
}

.woocommerce-cart .cart-discount td,
.woocommerce-cart .cart-discount .amount,
.woocommerce-cart .cart-discount .woocommerce-remove-coupon,
.woocommerce-cart a.woocommerce-remove-coupon,
.woocommerce-cart a[href*="remove_coupon"] {
  float: none;
  position: static;
  transform: none;
}

.woocommerce-cart .cart-discount td {
  text-align: right;
  white-space: normal;
  min-width: 120px;
}

.woocommerce-cart .cart-discount .amount {
  display: block;
  width: 100%;
  text-align: right;
  margin-bottom: 4px;
}

.woocommerce-cart .cart-discount .woocommerce-remove-coupon,
.woocommerce-cart a.woocommerce-remove-coupon,
.woocommerce-cart a[href*="remove_coupon"] {
  display: block;
  clear: both;
  width: auto;
  max-width: 100%;
  margin-top: 4px;
  margin-left: 0;
  text-align: right;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.woocommerce-cart .cart_totals .cart-discount td {
  text-align: right;
  white-space: normal;
}

.woocommerce-cart .cart_totals .cart-discount .amount {
  display: block;
  text-align: right;
  margin-bottom: 4px;
}

.woocommerce-cart .cart_totals .cart-discount .woocommerce-remove-coupon {
  display: block;
  text-align: right;
  font-size: 10px;
  line-height: 1.2;
  color: #777;
  text-decoration: none;
  margin-top: 2px;
}

/* Hide trash icon near coupon remove */
.woocommerce-cart .cart_totals .cart-discount i,
.woocommerce-cart .cart_totals .cart-discount svg,
.woocommerce-cart .cart_totals .cart-discount .remove-icon,
.woocommerce-cart .cart_totals .cart-discount [class*="trash"],
.woocommerce-cart .cart_totals .cart-discount [class*="delete"] {
  display: none;
}

/* Hide Opening Hours & Capacity */
.item-availability__info > .opening-hours {
  display: none;
}

/* ซ่อนวันที่และผู้เขียนด้านบนสุดของหน้าโพสต์ */
.single-post .entry-meta,
.single-post .post-meta,
.single-post .post-date,
.single-post .entry-date,
.single-post .posted-on {
    display: none !important;
}

/* Hide default post title on single posts */
.single-post .entry-title {
    display: none !important;
}

/* ขยายขนาดปุ่ม +/- และช่องจำนวน (ใช้ Scale เพื่อไม่ให้เสียรูปทรง) */
.togo-st-form-booking .quantity,
.togo-st-form-booking .togo-st-guest,
.booking-guests .quantity,
.booking-guests .togo-st-guest {
    transform: scale(1.2);
    transform-origin: center;
    margin: 10px 0;
}

/* ขยายให้ใหญ่ขึ้นอีกบนมือถือ */
@media (max-width: 768px) {
    .togo-st-form-booking .quantity,
    .togo-st-form-booking .togo-st-guest,
    .booking-guests .quantity,
    .booking-guests .togo-st-guest {
        transform: scale(1.35);
        margin: 15px 0;
    }
}

/* === ลดระยะห่างบน-ล่าง ของหน้าโพสต์ทัวร์ (ทุกอุปกรณ์) === */

/* ลดระยะด้านบนสุดและล่างสุดของเนื้อหาโพสต์ */
body.single-post .entry-content,
body.single-post .post-content,
body.single-post .elementor-widget-wrap,
body.single-post .elementor-widget-html {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ลดระยะด้านนอกของกรอบทัวร์ของเรา (.mpt-tour) */
.mpt-tour {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0px !important; /* เว้นนิดหน่อยให้ติดขอบแต่ไม่ชิดเกินไป */
    padding-bottom: 0px !important; /* เว้นนิดหน่อยก่อนถึง Footer */
}

/* ลดช่องว่างหัวข้อโพสต์ (ถ้ามี) */
body.single-post .entry-title,
body.single-post .post-title {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* บังคับลดระยะด้านล่างของ CTA Box ให้ชิดขึ้น */
.mpt-tour .cta {
    margin-bottom: 0 !important;
}

/* ซ่อนตัวเลขราคาในปฏิทิน Togo */
.calendar-dates .date .price,
.calendar-dates .date .day-price,
.calendar-dates .date .calendar-price,
.calendar-dates .date span span,
.calendar-dates .date div {
    display: none !important;
}

/* ซ่อนรูปปก Featured Image บนหน้าโพสต์ (เล็งตรง Class) */
.single-post .entry-thumbnail,
.single-post .entry-thumbnail img.wp-post-image {
    display: none !important;
}

/* === บังคับลดช่องว่างด้านบนสุด (ยิงทะลุ Elementor Section) === */
@media (max-width: 1024px) {
    
    /* 1. ลด Padding ของกล่อง Section ใน Elementor */
    .elementor-section,
    .elementor-top-section {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    
    /* 2. ลด Padding ของคอลัมน์และวิดเจ็ตใน Elementor */
    .elementor-column-wrap,
    .elementor-widget-wrap {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    .elementor-widget-container {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* 3. ลด Padding ของ Theme Wrapper */
    .entry-content,
    .page-content,
    #main-content,
    .site-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    
    /* 4. เว้นระยะห่างนิดหน่อยให้เนื้อหาเราชิดขอบบนสุดแบบสวยงาม */
    .mpt-tour,
    .mpt-policy,
    .mpt-privacy {
        margin-top: 0 !important;
        padding-top: 10px !important; 
    }
}

/* === เปลี่ยนสีจุด Carousel (Dots) จากส้มเป็นน้ำเงิน === */

/* สำหรับ Slick Carousel (ที่ใช้บ่อยในธีม Togo) */
.slick-dots li button:before {
    color: #0057B8 !important; /* สีน้ำเงินสำหรับจุดที่ยังไม่ได้เลือก */
}

.slick-dots li.slick-active button:before {
    color: #003B7A !important; /* สีน้ำเงินเข้มสำหรับจุดที่กำลังเลือกอยู่ */
    opacity: 1 !important;
}

/* สำหรับ Swiper Carousel (บาง Widget อาจจะใช้ตัวนี้) */
.swiper-pagination-bullet {
    background-color: #0057B8 !important;
    opacity: 0.4 !important;
}

.swiper-pagination-bullet-active {
    background-color: #003B7A !important;
    opacity: 1 !important;
}

/* สำหรับ Elementor Carousel */
.elementor-swiper-button,
.elementor-main-swiper .swiper-pagination-bullet {
    background-color: #0057B8 !important;
}

/* บังคับยกเลิกเอฟเฟกต์การขยายรูปเมื่อเอาเมาส์ไปวาง */
img:hover,
.gallery-item img:hover,
.elementor-widget-image img:hover,
.woocommerce-product-gallery__image img:hover {
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    transition: none !important; /* ยกเลิกอนิเมชันตอนเอาเมาส์ออกด้วย */
}

/* กำหนดเฉพาะหน้า Home ให้รูปภาพทุกรูปหยุดขยายเมื่อเอาเมาส์ไปวาง */
body.home img:hover,
body.home .elementor-widget-image img:hover,
body.home .card-img-top:hover,
body.home .tour-image img:hover,
body.home *:hover > img {
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -o-transform: none !important;
    transition: none !important; 
}

/* ป้องกันปัญหาภาพล้นขอบ (Overflow) กรณีที่ธีมคุมไว้ด้วยคลาสแม่ */
body.home .elementor-widget-image,
body.home .elementor-widget-image-wrap {
    overflow: hidden !important;
}