/* Theme Name: Tripgo Child Theme
Theme URI: https://themeforest.net/user/ovatheme/portfolio
Description: This is child theme of tripgo
Author: Ovatheme
Author URI: https://themeforest.net/user/ovatheme
Template: tripgo
Version: 1.0.0
Tags: two-columns, three-columns, left-sidebar, right-sidebar, custom-menu, editor-style, featured-images, flexible-header, full-width-template, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain:  tripgo-child
*/

.tripgo-mobile-booking-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10010;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  background: #ffffff;
  border-top: 1px solid rgba(17, 24, 39, 0.1);
  box-shadow: 0 -8px 24px rgba(17, 24, 39, 0.12);
}

.tripgo-mobile-booking-footer.is-visible {
  display: flex;
}

.tripgo-mobile-booking-total {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tripgo-mobile-booking-total-label {
  font-size: 12px;
  line-height: 1.2;
  color: #6b7280;
}

.tripgo-mobile-booking-total-value {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 52vw;
}

.tripgo-mobile-booking-open {
  border: 0;
  border-radius: 5px;
  padding: 10px 18px;
  background: #61bcf5;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
}

.tripgo-mobile-booking-sheet {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: none;
}

.tripgo-mobile-booking-sheet.is-open {
  display: block;
}

.tripgo-mobile-booking-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(17, 24, 39, 0.45);
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.tripgo-mobile-booking-panel {
  position: absolute;
  inset: 0;
  max-height: none;
  background: #ffffff;
  border-radius: 0;
  padding: 12px 12px calc(16px + env(safe-area-inset-bottom));
  overflow: hidden;
  transform: translateY(100%);
  transition: transform 0.25s ease;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}

.tripgo-mobile-booking-sheet.is-open .tripgo-mobile-booking-panel {
  transform: translateY(0);
}

.tripgo-mobile-booking-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0 0 8px auto;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: transparent;
  color: #111827;
  font-size: 28px;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
}

.tripgo-mobile-booking-sheet-content .elementor-widget-ovabrw_product_forms,
.tripgo-mobile-booking-sheet-content .elementor-widget-container,
.tripgo-mobile-booking-sheet-content .elementor-ovabrw-product-forms,
.tripgo-mobile-booking-sheet-content .ova-forms-product,
.tripgo-mobile-booking-sheet-content .forms-wrapper {
  width: 100%;
}

.tripgo-mobile-booking-sheet-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.tripgo-mobile-booking-live {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ova-forms-product
  .forms-wrapper
  .ovabrw-wrapper-guestspicker.ovabrw-date-not-selected
  .ovabrw-guestspicker {
  cursor: default !important;
}

@media (max-width: 1024px) {
  body.tripgo-mobile-sheet-open {
    overflow: hidden;
  }

  body.tripgo-mobile-booking-enabled.tripgo-mobile-near-page-end {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }

  body.tripgo-mobile-booking-enabled #scrollUp {
    bottom: 86px !important;
  }

  body.tripgo-mobile-sheet-open #scrollUp {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.tripgo-mobile-sheet-open .tripgo-mobile-booking-footer {
    display: none;
  }

  body.tripgo-mobile-sheet-open
    .tripgo-mobile-booking-sheet-content
    .ova-forms-product
    .forms-wrapper {
    box-shadow: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .tripgo-mobile-booking-panel {
    padding-top: calc(12px + env(safe-area-inset-top));
  }

  .tripgo-mobile-booking-close {
    position: absolute;
    top: calc(8px + env(safe-area-inset-top));
    right: 12px;
    margin: 0;
    z-index: 4;
  }

  .tripgo-mobile-booking-sheet-content {
    padding-top: 44px;
  }
}

@media (min-width: 1025px) {
  .tripgo-mobile-booking-footer,
  .tripgo-mobile-booking-sheet {
    display: none !important;
  }
}

.ova-tour-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.ova-tour-meta-row .ova-tour-day {
  position: static !important;
  left: auto !important;
  top: auto !important;
  margin-bottom: 0;
  margin-top: 0;
}

.ova-tour-meta-row .ova-tour-day-duration {
  margin-left: auto;
}

@media (max-width: 500px) {
  .ova-tour-meta-row {
    flex-wrap: wrap;
  }

  .ova-tour-meta-row .ova-tour-day-duration {
    margin-left: 0;
  }
}

.woocommerce
  .woocommerce-cart-form
  table.shop_table
  tbody
  tr
  td.actions
  .coupon
  .button:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.woocommerce-checkout #payment .place-order #place_order:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.woocommerce .cart-collaterals .cart_totals .checkout-button:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.woocommerce
  .woocommerce-cart-form
  table.shop_table
  tbody
  tr
  td.actions
  .button[name="update_cart"]:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.ovabrw-search
  .ovabrw-search-form
  .ovabrw-s-field
  .ovabrw-search-btn
  button.ovabrw-btn:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.ova-blog .item .ova-content .read-more:hover,
.ova-blog .item .ova-content .read-more:hover span,
.ova-blog .item .ova-content .read-more:hover i,
.ova-blog.template3 .item .ova-content .read-more:hover,
.ova-blog.template3 .item .ova-content .read-more:hover span,
.ova-blog.template3 .item .ova-content .read-more:hover i,
.ova-blog.template4 .item .ova-content .read-more:hover,
.ova-blog.template4 .item .ova-content .read-more:hover span,
.ova-blog.template4 .item .ova-content .read-more:hover i {
  color: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
}

/* WooCommerce shop grid: keep product cards aligned to equal heights. */
.woocommerce ul.products {
  align-items: stretch;
}

.woocommerce ul.products > .ova-product {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.woocommerce ul.products li.product,
.woocommerce ul.products li.ova-product {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.woocommerce ul.products > .ova-product .ova_foot_product {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.woocommerce
  ul.products
  > .ova-product
  .ova_head_product
  .ova-product-thumbnail,
.woocommerce ul.products > .ova-product .ova_head_product .ova-card-gallery,
.woocommerce
  ul.products
  > .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup,
.woocommerce
  ul.products
  > .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.woocommerce
  ul.products
  > .ova-product
  .ova_head_product
  .ova-product-thumbnail
  img,
.woocommerce
  ul.products
  > .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow
  .item
  .gallery-fancybox
  img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.woocommerce ul.products > .ova-product .ova-product-day-title-location {
  flex: 1 1 auto;
}

.woocommerce ul.products > .ova-product .ova-product-title {
  min-height: 2.6em;
}

.woocommerce ul.products > .ova-product .ova-product-review-and-price,
.woocommerce ul.products > .ova-product .ova-product-wrapper-price {
  margin-top: auto;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.ova-product .woocommerce-loop-product__title {
  min-height: 2.6em;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.ova-product .button,
.woocommerce ul.products li.ova-product a.add_to_cart_button {
  margin-top: auto;
}

/* Keep checkout Select2 text alignment consistent with Tripgo fields. */
.woocommerce-checkout
  #customer_details
  .select2-container
  .select2-selection--single
  .select2-selection__rendered {
  padding: 0 15px !important;
  line-height: 50px;
}

/* OVA BRW: normalize template_1 and plain column1-4 grid cards. */
.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  ) {
  align-items: stretch;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product {
  flex: 0 0 auto;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-product-thumbnail,
.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery,
.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup,
.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow {
  aspect-ratio: 4 / 3;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-product-thumbnail
  img,
.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow
  .item
  .gallery-fancybox
  img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column3,
    .column4
  )
  .ova-product
  .ova_foot_product {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column3,
    .column4
  )
  .ova-product
  .ova_foot_product
  .ova-product-day-title-location {
  flex: 1 1 auto;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column3,
    .column4
  )
  .ova-product
  .ova_foot_product
  .ova-product-title {
  min-height: 2.6em;
}

.ovabrw-products-result.ovabrw-products-result-grid:is(
    .grid-layout-template_1,
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_foot_product
  .ova-product-title
  a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  line-height: 1.3;
}

/* OVA BRW destination ajax: normalize actual .ova-product cards in column1-4 grids. */
.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  ) {
  align-items: stretch;
}

.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product {
  flex: 0 0 auto;
}

.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-product-thumbnail,
.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery,
.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup,
.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow {
  aspect-ratio: 4 / 3;
}

.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-product-thumbnail
  img,
.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow
  .item
  .gallery-fancybox
  img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_foot_product {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.ovabrw-destination-ajax
  .ovabrw-destination-products
  .ovabrw-products-result.ovabrw-products-result-grid:is(
    .column1,
    .column2,
    .column3,
    .column4
  )
  .ova-product
  .ova_foot_product
  .ova-product-day-title-location {
  flex: 1 1 auto;
}

/* OVA BRW related widget: normalize slide/card heights and image ratios. */
.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-wrapper,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-wrapper {
  align-items: stretch;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide,
.elementor-element-96056ab .ova-product-slider.elementor-ralated .swiper-slide {
  height: auto;
  display: flex;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product {
  flex: 0 0 auto;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-product-thumbnail,
.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery,
.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup,
.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-product-thumbnail,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow {
  aspect-ratio: 4 / 3;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-product-thumbnail
  img,
.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow
  .item
  .gallery-fancybox
  img,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-product-thumbnail
  img,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_head_product
  .ova-card-gallery
  .ova-gallery-popup
  .ova-gallery-slideshow
  .item
  .gallery-fancybox
  img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product
  .ova-product-day-title-location,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product
  .ova-product-day-title-location {
  flex: 1 1 auto;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product
  .ova-product-title,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product
  .ova-product-title {
  min-height: 2.6em;
}

.elementor-widget-ovabrw_product_related
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product
  .ova-product-title
  a,
.elementor-element-96056ab
  .ova-product-slider.elementor-ralated
  .swiper-slide
  .ova-product
  .ova_foot_product
  .ova-product-title
  a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  line-height: 1.3;
}
