/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme. Sample child theme.
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.0
*/

/* Parent stylesheet should be loaded from functions.php not using @import */


/* SPA category tree: keep title, hide sidebar */
.spa-tree-no-sidebar-title-on #right-sidebar,
.spa-tree-no-sidebar-title-on #secondary,
.spa-tree-no-sidebar-title-on .widget-area {
  display: none !important;
}

.spa-tree-no-sidebar-title-on #primary,
.spa-tree-no-sidebar-title-on .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* Keep archive page header visible */
.spa-tree-no-sidebar-title-on .page-header,
.spa-tree-no-sidebar-title-on .archive-header,
.spa-tree-no-sidebar-title-on .oceanwp-page-header {
  display: block !important;
}

/* Replace gray strip with background image on SPA tree categories */
.spa-tree-no-sidebar-title-on .page-header {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  background-image: linear-gradient(rgba(12, 22, 34, 0.45), rgba(12, 22, 34, 0.45)), url("https://toptrip24.com/wp-content/uploads/slider_3.jpg");
  background-size: cover;
  background-position: center 58%;
  background-repeat: no-repeat;
}

.spa-tree-no-sidebar-title-on .page-header .page-header-title,
.spa-tree-no-sidebar-title-on .page-header .site-breadcrumbs,
.spa-tree-no-sidebar-title-on .page-header .site-breadcrumbs a {
  color: #ffffff !important;
}

.spa-tree-no-sidebar-title-on .page-header .container {
  padding-top: 90px;
  padding-bottom: 90px;
}

.spa-tree-no-sidebar-title-on .page-header .page-header-title {
  font-size: 36px;
  line-height: 1.2;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.spa-tree-no-sidebar-title-on .page-header .site-breadcrumbs {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* Header cart link shortcode */
.tourcentr-header-cart-link,
.toptrip24-header-cart-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #ffffff !important;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
}

.tourcentr-header-cart-link:hover,
.toptrip24-header-cart-link:hover {
  color: #ffffff !important;
  text-decoration: none !important;
}

.tourcentr-header-cart-link .fas,
.toptrip24-header-cart-link .fas {
  font-size: 20px;
}

.tourcentr-header-cart-count,
.toptrip24-header-cart-count {
  position: absolute;
  top: -10px;
  right: -12px;
  display: none;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--color_theme, #6c47ff);
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  line-height: 18px;
  text-align: center;
}

.tourcentr-header-cart-count.has-items,
.toptrip24-header-cart-count.has-items {
  display: inline-block;
}

@media (max-width: 767px) {
  .tourcentr-header-cart-text,
  .toptrip24-header-cart-text {
    display: none;
  }
}

/* TTBM category archive: keep tour thumbnails proportional */
body.tax-ttbm_tour_cat .ttbm_style .filter_item .bg_image_area {
  overflow: hidden;
}

body.tax-ttbm_tour_cat .ttbm_style .filter_item .bg_image_area [data-bg-image] {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

body.tax-ttbm_tour_cat .ttbm_style .filter_item .bg_image_area [data-bg-image]::before {
  background-image: linear-gradient(170deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.35));
}

@media (min-width: 768px) {
  body.tax-ttbm_tour_cat .ttbm_style div.modern .filter_item .bg_image_area {
    flex: 0 0 300px;
    width: 300px;
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    align-self: flex-start;
  }

  body.tax-ttbm_tour_cat .ttbm_style .all_filter_item .flexWrap.ttbm-list-mode .filter_item .bg_image_area {
    height: 220px;
    min-height: 220px;
    max-height: 220px;
  }
}

@media (max-width: 767px) {
  body.tax-ttbm_tour_cat .ttbm_style div.modern .filter_item .bg_image_area {
    width: 100%;
    height: 220px;
    min-height: 220px;
    max-height: 220px;
  }
}

body.tax-ttbm_tour_cat .ttbm_style .ttbm-gc-image-wrap,
body.tax-ttbm_tour_cat .ttbm_style .ttbm-lv-image-col {
  overflow: hidden;
}

body.tax-ttbm_tour_cat .ttbm_style .ttbm-gc-thumb,
body.tax-ttbm_tour_cat .ttbm_style .ttbm-lv-thumb {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat;
}

@media (min-width: 768px) {
  body.tax-ttbm_tour_cat .ttbm_style .ttbm-gc-image-wrap,
  body.tax-ttbm_tour_cat .ttbm_style .ttbm-lv-image-col {
    flex: 0 0 300px;
    width: 300px;
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    align-self: flex-start;
  }

  body.tax-ttbm_tour_cat .ttbm_style .ttbm-gc-thumb,
  body.tax-ttbm_tour_cat .ttbm_style .ttbm-lv-thumb {
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
  }
}

/* WooCommerce cart: give booking details more room than price columns */
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
body.woocommerce-cart table.shop_table.cart {
  table-layout: fixed;
  width: 100%;
}

body.woocommerce-cart table.shop_table.cart .product-name {
  width: 64%;
}

body.woocommerce-cart table.shop_table.cart .product-price,
body.woocommerce-cart table.shop_table.cart .product-quantity,
body.woocommerce-cart table.shop_table.cart .product-subtotal {
  width: 8%;
  text-align: center;
  white-space: nowrap;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail {
  width: 220px;
}

body.woocommerce-cart table.shop_table.cart .product-remove {
  width: 34px;
}

body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-quantity,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
  padding-left: 8px;
  padding-right: 8px;
}

body.woocommerce-cart table.shop_table.cart .product-name .variation {
  margin: 8px 0 0;
}

body.woocommerce-cart table.shop_table.cart .product-name .variation dt {
  display: none;
}

body.woocommerce-cart table.shop_table.cart .product-name .variation dd {
  margin: 0;
}

body.woocommerce-cart table.shop_table.cart .product-name .variation dd p {
  margin: 0;
}

body.woocommerce-cart .toptrip24-cart-tour-link {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

body.woocommerce-cart .toptrip24-cart-tour-link:hover {
  text-decoration: none;
}

body.woocommerce-cart .toptrip24-cart-booking {
  display: grid;
  gap: 5px;
  font-size: 13px;
  line-height: 1.28;
}

body.woocommerce-cart .toptrip24-cart-booking-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  max-width: none;
}

body.woocommerce-cart .toptrip24-cart-booking-detail,
body.woocommerce-cart .toptrip24-cart-booking-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: max-content;
}

body.woocommerce-cart .toptrip24-cart-booking-icon {
  flex: 0 0 16px;
  color: #6b7280;
  font-size: 13px;
  text-align: center;
}

body.woocommerce-cart .toptrip24-cart-booking-detail strong {
  min-width: max-content;
  color: #1f2937;
  font-weight: 600;
  white-space: nowrap;
}

body.woocommerce-cart .toptrip24-cart-booking-row {
  align-items: flex-start;
}

body.woocommerce-cart .toptrip24-cart-booking-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

body.woocommerce-cart .toptrip24-booking-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 7px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #f9fafb;
}

body.woocommerce-cart .toptrip24-booking-pill strong {
  color: #111827;
}

body.woocommerce-cart .toptrip24-booking-pill em {
  color: #6b7280;
  font-style: normal;
}

body.woocommerce-cart table.shop_table.cart .quantity {
  justify-content: center;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail img,
body.woocommerce-cart table.shop_table.cart .product-thumbnail .bg_image_area {
  width: 200px;
  max-width: 200px;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
  height: auto;
  border-radius: 8px;
}

body.woocommerce-cart table.shop_table.cart .product-name > a:not(.toptrip24-cart-tour-link) {
  display: inline-block;
  margin-bottom: 6px;
  color: #1f2937 !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

body.woocommerce-cart table.shop_table.cart .product-name > a:not(.toptrip24-cart-tour-link):hover {
  color: #1f2937 !important;
  text-decoration: none;
}

/* WooCommerce checkout: compact product/tour review rows */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  table-layout: fixed;
  width: 100%;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name {
  width: 72%;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total {
  width: 28%;
  text-align: right;
  white-space: nowrap;
}

body.woocommerce-checkout .toptrip24-checkout-product {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

body.woocommerce-checkout .toptrip24-checkout-thumb {
  display: block;
  width: 92px;
  height: 72px;
  border-radius: 10px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

body.woocommerce-checkout .toptrip24-checkout-product-main {
  min-width: 0;
}

body.woocommerce-checkout .toptrip24-cart-tour-link {
  display: inline-block;
  color: #1f2937 !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

body.woocommerce-checkout .toptrip24-cart-tour-link:hover {
  color: #1f2937 !important;
  text-decoration: none;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity {
  display: inline-flex;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .variation {
  margin: 8px 0 0 106px;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .variation dt {
  display: none;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .variation dd {
  margin: 0;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .variation dd p {
  margin: 0;
}

body.woocommerce-checkout .toptrip24-cart-booking {
  display: grid;
  gap: 5px;
  font-size: 13px;
  line-height: 1.28;
}

body.woocommerce-checkout .toptrip24-cart-booking-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  max-width: none;
}

body.woocommerce-checkout .toptrip24-cart-booking-detail,
body.woocommerce-checkout .toptrip24-cart-booking-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: max-content;
}

body.woocommerce-checkout .toptrip24-cart-booking-icon {
  flex: 0 0 16px;
  color: #6b7280;
  font-size: 13px;
  text-align: center;
}

body.woocommerce-checkout .toptrip24-cart-booking-detail strong {
  min-width: max-content;
  color: #1f2937;
  font-weight: 600;
  white-space: nowrap;
}

body.woocommerce-checkout .toptrip24-cart-booking-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

body.woocommerce-checkout .toptrip24-booking-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 7px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #f9fafb;
}

body.woocommerce-checkout .toptrip24-booking-pill strong {
  color: #111827;
}

body.woocommerce-checkout .toptrip24-booking-pill em {
  color: #6b7280;
  font-style: normal;
}

/* Fallback for the original TTBM cart details if plugin HTML still appears */
body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.25;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style .dLayout_xs {
  margin: 0 0 4px;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style h5 {
  margin: 6px 0 3px;
  font-size: 13px;
  font-weight: 700;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px 12px;
  margin: 0;
  padding: 0;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list li {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0;
  min-width: 0;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list li > span:first-child {
  flex: 0 0 16px;
  color: #6b7280;
  font-size: 13px;
  text-align: center;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list h6 {
  display: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list li > span:last-child {
  min-width: 0;
  color: #1f2937;
  font-weight: 600;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style h5 {
  display: none;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list li > span:last-child {
  white-space: normal;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list li > span:last-child:empty {
  display: none;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list h6 {
  display: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list li {
  min-height: 0;
}

@media (max-width: 767px) {
  body.woocommerce-cart .toptrip24-cart-booking-grid {
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart table.shop_table.cart .product-name .ttbm_style ul.cart_list {
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart table.shop_table.cart .product-price,
  body.woocommerce-cart table.shop_table.cart .product-quantity,
  body.woocommerce-cart table.shop_table.cart .product-subtotal {
    text-align: right;
  }

  body.woocommerce-checkout .toptrip24-checkout-product {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
  }

  body.woocommerce-checkout .toptrip24-checkout-thumb {
    width: 72px;
    height: 58px;
  }

  body.woocommerce-checkout table.woocommerce-checkout-review-order-table .variation {
    margin-left: 82px;
  }

  body.woocommerce-checkout .toptrip24-cart-booking-grid {
    gap: 4px 10px;
  }
}