/*
Theme Name: Tripgo Child
Theme URI: https://themeforest.net/user/ovatheme/portfolio
Template: tripgo
Author: Ovatheme
Text Domain: tripgo-child
Domain Path: /languages
Description: Tripgo is a modernized take on an ever-popular WordPress. It has custom color options with beautiful default color schemes, a harmonious fluid grid using a mobile-first approach, and impeccable polish in every detail. Tripgo will make your WordPress look beautiful everywhere. Created by Ovatheme
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
Version: 1.6.1.1781233800
Updated: 2026-08-06 10:35:00

*/
/* Search page wrapper */
body.search .search-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px 60px;
}

/* Search form */
body.search .search-page .search-form,
body.search .search-page form.search-form {
  width: 100%;
  margin: 40px 0 60px;
  padding: 14px;
  background: #fff8f5;
  border: 2px solid #d89bb4;
  border-radius: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 10px 30px rgba(216, 155, 180, 0.15);
}

body.search .search-page .search-form label {
  flex: 1;
  margin: 0;
}

body.search .search-page .screen-reader-text {
  display: none;
}

body.search .search-page .search-form input[type="search"],
body.search .search-page .search-form input[type="text"] {
  width: 100%;
  border: 0 !important;
  background: transparent;
  padding: 16px 18px;
  font-size: 16px;
  outline: none;
  color: #2b1f1f;
}

body.search .search-page .search-form input[type="submit"],
body.search .search-page .search-form button {
  background: #d89bb4;
  color: #fff;
  border: 0;
  border-radius: 16px;
  padding: 16px 32px;
  font-weight: 700;
  cursor: pointer;
  transition: all .25s ease;
}

body.search .search-page .search-form input[type="submit"]:hover,
body.search .search-page .search-form button:hover {
  background: #c684a0;
}

/* Shop / catalog product search */
.imperiales-shop-search {
  width: 100%;
  max-width: 100%;
  margin: 0 0 28px;
  box-sizing: border-box;
}

.imperiales-shop-search__form {
  width: 100%;
  margin: 0;
  padding: 10px;
  background: #fff;
  border: 1px solid #111B19;
  border-radius: 22px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
  box-sizing: border-box;
}

.imperiales-shop-search__input {
  flex: 1 1 220px;
  min-width: 0;
  width: 100%;
  border: 0 !important;
  background: transparent;
  padding: 14px 12px;
  font-size: 16px; /* avoid iOS zoom on focus */
  line-height: 1.3;
  outline: none;
  color: #111B19;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
}

.imperiales-shop-search__input::-webkit-search-decoration,
.imperiales-shop-search__input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.imperiales-shop-search__input::placeholder {
  color: #6d6d6d;
}

.imperiales-shop-search__submit,
.imperiales-shop-search__clear {
  min-height: 48px;
  box-sizing: border-box;
}

.imperiales-shop-search__submit {
  background: #F7FF00;
  color: #111B19;
  border: 1px solid #111B19;
  border-radius: 16px;
  padding: 14px 28px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.imperiales-shop-search__submit:hover {
  background: #111B19;
  color: #F7FF00;
}

.imperiales-shop-search__clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border-radius: 16px;
  font-weight: 600;
  color: #111B19;
  text-decoration: none;
  background: #fff;
  border: 1px solid #111B19;
}

.imperiales-shop-search__clear:hover {
  background: #111B19;
  color: #fff;
}

.imperiales-shop-search__status {
  margin: 14px 4px 0;
  color: #6d6d6d;
  font-size: 14px;
  line-height: 1.4;
  word-break: break-word;
}

.imperiales-shop-results {
  position: relative;
  min-height: 120px;
  transition: opacity .2s ease;
}

.imperiales-shop-results.is-loading {
  opacity: 0.45;
  pointer-events: none;
}

.imperiales-shop-results.is-loading::after {
  content: "";
  position: absolute;
  top: 24px;
  left: 50%;
  width: 28px;
  height: 28px;
  margin-left: -14px;
  border: 3px solid #111B19;
  border-top-color: #F7FF00;
  border-radius: 50%;
  animation: imperiales-shop-spin .7s linear infinite;
  z-index: 2;
}

@keyframes imperiales-shop-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 600px) {
  .imperiales-shop-search {
    margin: 0 0 20px;
  }

  .imperiales-shop-search__form {
    padding: 8px;
    gap: 8px;
  }

  .imperiales-shop-search__input {
    flex: 1 1 100%;
    padding: 12px 10px;
  }

  .imperiales-shop-search__submit,
  .imperiales-shop-search__clear {
    flex: 1 1 calc(50% - 4px);
    width: auto;
    min-width: 0;
    justify-content: center;
    text-align: center;
    padding: 12px 10px;
  }

  /* No Clear link: Search takes the full row */
  .imperiales-shop-search__form > .imperiales-shop-search__submit:last-child {
    flex: 1 1 100%;
  }
}

/* Results list */
body.search .search-page .imperiales-search-results {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 40px 0;
}

/* Result item */
body.search .search-page .imperiales-search-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  transition: all .25s ease;
}

body.search .search-page .imperiales-search-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}

/* Image */
body.search .search-page .imperiales-search-thumb {
  flex: 0 0 220px;
  width: 220px;
  height: 140px;
  overflow: hidden;
  border-radius: 14px;
  background: #f3ede8;
}

body.search .search-page .imperiales-search-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Text */
body.search .search-page .imperiales-search-content {
  flex: 1;
  padding: 0;
}

body.search .search-page .imperiales-search-content h2 {
  margin: 0 0 12px;
  font-size: 26px;
  line-height: 1.3;
}

body.search .search-page .imperiales-search-content h2 a {
  color: #222;
  text-decoration: none;
}

body.search .search-page .imperiales-search-content h2 a:hover {
  color: #c684a0;
}

body.search .search-page .imperiales-search-content p {
  margin: 0 0 16px;
  line-height: 1.7;
  color: #6d5d5d;
}

body.search .search-page .imperiales-search-link {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid #000;
  border-radius: 8px;
  background-color: #F7FF00;
  color: #000;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.search .search-page .imperiales-search-link:hover,
body.search .search-page .imperiales-search-link:focus-visible {
  background-color: #000;
  color: #fff;
  border-color: #000;
}

/* Mobile */
@media (max-width: 768px) {
  body.search .search-page {
    padding: 0 15px 50px;
  }

  body.search .search-page .search-form,
  body.search .search-page form.search-form {
    flex-direction: column;
    align-items: stretch;
    margin: 30px 0 40px;
  }

  body.search .search-page .search-form input[type="submit"],
  body.search .search-page .search-form button {
    width: 100%;
  }

  body.search .search-page .imperiales-search-item {
    flex-direction: column;
  }

  body.search .search-page .imperiales-search-thumb {
    width: 100%;
    height: 220px;
    flex: none;
  }

  body.search .search-page .imperiales-search-content h2 {
    font-size: 22px;
  }
}

/* Variable product Included/Excluded tab */
.single-product .tour-included-excluded-wrapper {
  max-width: 900px;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.woocommerce div.product.product-type-variable .woocommerce-tabs .panel#tab-additional_information h2.heading-tour-included-excluded {
  display: block !important;
  text-align: left;
}

/* One column: included first, then excluded (Civitatis-style) */
.single-product .tour-included-excluded-content,
.woocommerce div.product.product-type-variable .woocommerce-tabs .panel#tab-additional_information .tour-included-excluded-content,
.ova-content-single-product .tour-included-excluded-content {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.single-product .tour-included-excluded-content .imperiales-tour-list-column,
.ova-content-single-product .tour-included-excluded-content .imperiales-tour-list-column {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  max-width: none;
}

.single-product .tour-included-excluded-content .imperiales-tour-list-column h3 {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.3;
}

.single-product .tour-included-excluded-content .imperiales-tour-list-column ul,
.ova-content-single-product .tour-included-excluded-content ul.tour-included,
.ova-content-single-product .tour-included-excluded-content ul.tour-excluded {
  margin-top: 0;
  width: 100%;
}

.single-product .tour-included-excluded-content ul li,
.ova-content-single-product .tour-included-excluded-content ul li {
  font-size: 18px;
  line-height: 1.55;
}

.single-product .tour-included-excluded-content ul li::before,
.ova-content-single-product .tour-included-excluded-content ul li::before {
  font-size: 22px;
  top: 3px;
}

.single-product .tour-included-excluded-content ul.imperiales-tour-excluded-icons-red .item-tour-excluded::before {
  color: #e53935;
}

.single-product .tour-included-excluded-content ul li.has-custom-icon::before,
.single-product .tour-included-excluded-content ul li.has-custom-icon::after {
  content: none !important;
  display: none !important;
}

.single-product .tour-included-excluded-content .imperiales-tour-item-icon {
  position: absolute;
  left: -28px;
  top: 3px;
  width: 1.15em;
  font-size: 20px;
  line-height: 1;
  text-align: center;
}

.single-product .tour-included-excluded-content ul.tour-included .imperiales-tour-item-icon {
  color: var(--secondary);
}

.single-product .tour-included-excluded-content ul.tour-excluded .imperiales-tour-item-icon {
  color: #e53935;
}

.rtl .single-product .tour-included-excluded-content .imperiales-tour-item-icon {
  left: auto;
  right: 0;
}

/* Header mini cart — logo-guided (black / white) */
.elementor-widget-tripgo_elementor_menu_cart,
.elementor-widget-tripgo_elementor_menu_cart .elementor-widget-container,
.ova-menu-cart {
  overflow: visible !important;
}

.ova-menu-cart .cart-total .items {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px;
  border-radius: 50% !important;
  color: #000 !important;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
}

.ova-menu-cart .minicart {
  width: 360px;
  max-height: min(80vh, 560px);
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  padding: 16px 0 0;
  color: #111B19;
  background: #fff;
  border: 2px solid #000;
  border-radius: 16px;
  box-shadow: none;
}

.ova-menu-cart .minicart .widget_shopping_cart_content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0 16px;
  border: 0 !important;
}

/* Empty cart: center message in the panel (right:0 only anchors the dropdown) */
.ova-menu-cart .minicart.is-empty,
.ova-menu-cart .minicart:not(:has(.widget_shopping_cart_content)) {
  min-height: 0 !important;
  height: auto !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 16px !important;
  text-align: center !important;
  font-weight: 700;
}

.ova-menu-cart .minicart .imperiales-minicart-empty,
.ova-menu-cart .minicart p.woocommerce-mini-cart__empty-message {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #111B19;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart,
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 0 !important;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li,
.ova-menu-cart .minicart .pa-woo-mc__item-wrapper.cart_item {
  position: relative;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  column-gap: 14px !important;
  margin: 0 !important;
  padding: 14px 8px 14px 0 !important;
  border: 0 !important;
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  border-bottom: 1px solid #d0d0d0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li:last-child,
.ova-menu-cart .minicart .pa-woo-mc__item-wrapper.cart_item:last-of-type {
  border: 0 !important;
  border-bottom: none !important;
}

.ova-menu-cart .minicart .pa-woo-mc__item-wrapper.cart_item:first-child {
  border-top: none !important;
}

/* PA inserts an <hr> between items — hide it; use item border-bottom only */
.ova-menu-cart .minicart .pa-woo-mc__item-divider {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li:after {
  display: none;
}

.ova-menu-cart .minicart .pa-woo-mc__product-data {
  flex: 1 1 auto !important;
  min-width: 0;
  padding-right: 28px;
}

.ova-menu-cart .minicart .pa-woo-mc__title,
.ova-menu-cart .minicart .pa-woo-mc__title-row a,
.ova-menu-cart .minicart .pa-woo-mc__product-title,
.ova-menu-cart .minicart ul.woocommerce-mini-cart li a:not(.remove) {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #111B19 !important;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li a.remove,
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper a.remove,
.ova-menu-cart .minicart .pa-woo-mc__remove-item {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 5;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #000 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer;
  pointer-events: auto !important;
}

.ova-menu-cart .minicart .pa-woo-mc__remove-item svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  pointer-events: none;
}

.ova-menu-cart .minicart .pa-woo-mc__remove-item svg,
.ova-menu-cart .minicart .pa-woo-mc__remove-item svg *,
.ova-menu-cart .minicart .pa-woo-mc__remove-item .pa-trash-1 {
  fill: #000 !important;
}

.ova-menu-cart .minicart .pa-woo-mc__remove-item .pa-woo-mc__remove-txt {
  display: none !important;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li a.remove:hover,
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper a.remove:hover,
.ova-menu-cart .minicart .pa-woo-mc__remove-item:hover svg,
.ova-menu-cart .minicart .pa-woo-mc__remove-item:hover svg * {
  fill: #333 !important;
  color: #333 !important;
  background: transparent !important;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li a:not(.remove),
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper a:not(.remove) {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 0;
  color: #111B19;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  text-decoration: none;
  text-transform: none;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li a:not(.remove):hover,
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper a:not(.remove):hover {
  color: #000;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li img,
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper img {
  float: none !important;
  display: block !important;
  grid-column: 1;
  justify-self: center;
  align-self: center;
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
  margin: 0 auto !important;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px;
  border: 0;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li .quantity,
.ova-menu-cart .minicart .pa-woo-mc__items-wrapper .quantity,
.ova-menu-cart .minicart .pa-woo-mc__item-qty {
  width: auto;
  padding: 0 !important;
  margin: 0;
  border: 1px solid #000 !important;
  border-radius: 8px;
  border-bottom: 1px solid #000 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: hidden;
  font-size: 13px;
  color: #555;
  font-weight: 600;
}

.ova-menu-cart .minicart .pa-woo-mc__item-qty .pa-woo-mc__qty-btn,
.ova-menu-cart .minicart .pa-woo-mc__item-qty svg.pa-woo-mc__qty-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  cursor: pointer;
}

.ova-menu-cart .minicart .pa-woo-mc__item-qty .pa-woo-mc__qty-btn:hover,
.ova-menu-cart .minicart .pa-woo-mc__item-qty svg.pa-woo-mc__qty-btn:hover {
  background: #000 !important;
}

.ova-menu-cart .minicart .pa-woo-mc__item-qty .pa-woo-mc__qty-btn:hover *,
.ova-menu-cart .minicart .pa-woo-mc__item-qty svg.pa-woo-mc__qty-btn:hover * {
  fill: #fff !important;
}

.ova-menu-cart .minicart .pa-woo-mc__item-qty .pa-woo-mc__input,
.ova-menu-cart .minicart .pa-woo-mc__item-qty input.pa-woo-mc__input[type="number"],
.ova-menu-cart .minicart .quantity input.qty {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #000 !important;
  border-right: 1px solid #000 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111B19 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  text-align: center !important;
  -moz-appearance: textfield;
  appearance: textfield;
  pointer-events: auto !important;
}

.ova-menu-cart .minicart .pa-woo-mc__item-qty .pa-woo-mc__input::-webkit-outer-spin-button,
.ova-menu-cart .minicart .pa-woo-mc__item-qty .pa-woo-mc__input::-webkit-inner-spin-button,
.ova-menu-cart .minicart .quantity input.qty::-webkit-outer-spin-button,
.ova-menu-cart .minicart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ova-menu-cart .minicart .pa-woo-mc__item-price,
.ova-menu-cart .minicart .pa-woo-mc__price-row .pa-woo-mc__item-price,
.ova-menu-cart .minicart ul.woocommerce-mini-cart li .quantity .amount,
.ova-menu-cart .minicart ul.woocommerce-mini-cart li .amount {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  margin: 0 0 0 10px !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #111B19 !important;
}

.ova-menu-cart .minicart .pa-woo-mc__price-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0;
}

.ova-menu-cart .minicart ul.woocommerce-mini-cart li dl.variation {
  display: none;
}

.ova-menu-cart .minicart .imperiales-minicart-footer {
  flex: 0 0 auto;
  margin: 0 16px;
  padding: 14px 0 16px;
  background: transparent;
  border: none !important;
  border-top: 1px solid #000 !important;
  border-radius: 0;
  box-shadow: none !important;
}

.ova-menu-cart .minicart .imperiales-minicart-footer .woocommerce-mini-cart__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 14px;
  font-weight: 700;
  font-size: 14px;
  color: #111B19;
}

.ova-menu-cart .minicart .imperiales-minicart-footer .woocommerce-mini-cart__buttons {
  margin: 0;
  display: flex !important;
  gap: 10px;
  justify-content: space-between;
}

.ova-menu-cart .minicart .imperiales-minicart-footer .woocommerce-mini-cart__buttons a.button,
.ova-menu-cart .minicart p.woocommerce-mini-cart__buttons a {
  display: block !important;
  width: 100%;
  padding: 12px 10px !important;
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  background-color: #000 !important;
  border: 2px solid #000 !important;
  border-radius: 12px !important;
  transition: background-color .2s ease, color .2s ease;
}

.ova-menu-cart .minicart .imperiales-minicart-footer .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout) {
  background-color: #fff !important;
  color: #000 !important;
}

.ova-menu-cart .minicart .imperiales-minicart-footer .woocommerce-mini-cart__buttons a.button:hover,
.ova-menu-cart .minicart p.woocommerce-mini-cart__buttons a:hover {
  background-color: #fff !important;
  color: #000 !important;
}

.ova-menu-cart .minicart .imperiales-minicart-footer .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover {
  background-color: #000 !important;
  color: #fff !important;
}

/* Product list: duration below location */
.ova-product-list .ova-product .ova-product-duration,
.ova-product .ova-product-duration {
  position: static !important;
  display: flex !important;
  align-items: flex-start;
  gap: 3px;
  line-height: 1.2;
  padding: 0 0 3px;
  margin: 10px 0 0;
  border: 0;
  background: transparent;
  color: inherit;
}

.ova-product-list .ova-product .ova-product-duration i,
.ova-product .ova-product-duration i {
  font-size: 16px;
  color: var(--secondary);
}

.ova-product-list .ova-product .ova-product-duration .duration,
.ova-product .ova-product-duration .duration {
  font-size: 14px;
}

.ova-product-list .ova-product .ova-product-free-cancellation,
.ova-product .ova-product-free-cancellation {
  display: flex;
  align-items: flex-start;
  gap: 3px;
  line-height: 1.2;
  padding: 0 0 3px;
  margin: 6px 0 0;
  color: inherit;
}

.ova-product-list .ova-product .ova-product-free-cancellation i,
.ova-product .ova-product-free-cancellation i {
  font-size: 16px;
  color: var(--secondary);
}

.ova-product-list .ova-product .ova-product-free-cancellation .free-cancellation,
.ova-product .ova-product-free-cancellation .free-cancellation {
  font-size: 14px;
}

.ova-product .ova-product-price .no-product-price,
.ova-product-list .ova-product .ova-product-price .no-product-price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35em;
  line-height: 1.1;
  text-decoration: none !important;
  border-bottom: 0 !important;
}

.ova-product .ova-product-price .new-product-price,
.ova-product-list .ova-product .ova-product-price .new-product-price {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35em;
}

.ova-product .imperiales-card-from,
.ova-product-list .ova-product .imperiales-card-from {
  font-size: 0.85em;
  font-weight: 400;
  line-height: 1.1;
}

.ova-product .imperiales-reserve-free,
.ova-product-list .ova-product .imperiales-reserve-free {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35em;
  color: inherit;
  text-decoration: none;
}

.ova-product .imperiales-reserve-free__free,
.ova-product-list .ova-product .imperiales-reserve-free__free {
  text-decoration: none;
  font-size: 1.35em;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ova-product-day-title-location{
  min-height: 122px !important;
}

/* My Account: form only (no Login/Register tabs) — logo-guided */
.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 460px;
  margin: 56px auto 80px;
  padding: 0 20px;
}

.woocommerce ul.ova-login-register-woo {
  display: none !important;
}

.woocommerce #customer_login {
  width: 100%;
  margin: 0 auto;
}

.woocommerce #customer_login.col2-set .col-1,
.woocommerce #customer_login.col2-set .col-2 {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.woocommerce #customer_login .woocommerce-form {
  margin: 0 auto;
  padding: 28px 28px 32px;
  background: #fff;
  border: 2px solid #000;
  border-radius: 16px;
  box-shadow: none;
}

.woocommerce #customer_login .woocommerce-form .woocommerce-form-row label {
  color: #111B19;
}

.woocommerce #customer_login .woocommerce-form .woocommerce-form-row input,
.woocommerce #customer_login .woocommerce-form input.input-text {
  border: 1px solid #cfcfcf;
  border-radius: 10px;
  background: #fff;
  color: #111B19;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.woocommerce #customer_login .woocommerce-form .woocommerce-form-row input:focus,
.woocommerce #customer_login .woocommerce-form input.input-text:focus {
  border-color: #000;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
  outline: none;
}

.woocommerce #customer_login .woocommerce-form button[type="submit"],
.woocommerce #customer_login .woocommerce-form .woocommerce-form-register__submit,
.woocommerce form.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account form.login .woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-login__submit {
  border: 2px solid #000 !important;
  border-radius: 8px !important;
  padding: 8px 16px;
  min-height: 0;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  background-color: #fff !important;
  color: #000 !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.woocommerce #customer_login .woocommerce-form button[type="submit"]:hover,
.woocommerce #customer_login .woocommerce-form .woocommerce-form-register__submit:hover,
.woocommerce form.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce-account form.login .woocommerce-form-login__submit:hover,
.woocommerce-account button.woocommerce-form-login__submit:hover {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/* Cart page: box full-width Elementor layout to match My Account */
body.woocommerce-cart .imperiales-page-title,
body.woocommerce-checkout .imperiales-page-title {
  display: block !important;
  max-width: 1200px;
  width: calc(100% - 40px);
  margin: 48px auto 0;
  padding: 28px 28px 0;
  box-sizing: border-box;
  background: #fff;
  border: 2px solid #000;
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  color: #111B19;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

body.woocommerce-checkout .imperiales-page-title {
  margin-bottom: 0;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide,
body.woocommerce-checkout .wp-block-woocommerce-checkout.alignfull {
  max-width: 1200px;
  width: calc(100% - 40px);
  margin: 0 auto 72px;
  padding: 20px 28px 28px;
  box-sizing: border-box;
  background: #fff;
  border: 2px solid #000;
  border-top: 0;
  border-radius: 0 0 16px 16px;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart .wp-block-woocommerce-cart.alignfull {
  max-width: 1200px;
  width: calc(100% - 40px);
  margin: 0 auto 72px;
  padding: 20px 28px 28px;
  box-sizing: border-box;
  background: #fff;
  border: 2px solid #000;
  border-top: 0;
  border-radius: 0 0 16px 16px;
}

/* Keep line items + totals side-by-side when space allows */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 28px;
}

body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wc-block-components-main {
  flex: 1 1 auto;
  min-width: 320px;
  width: auto;
  max-width: none;
  overflow: visible;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wc-block-components-sidebar {
  flex: 0 0 360px;
  max-width: 360px;
  width: 360px;
}

@media (max-width: 900px) {
  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
    flex-wrap: wrap;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wc-block-components-main,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-cart .wc-block-components-sidebar {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
    min-width: 0;
  }
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  padding: 12px 8px 8px;
}

/* Page H1 already covers this — hide the empty-cart block's second title */
body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading.with-empty-cart-icon {
  display: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator:first-of-type {
  display: none;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading {
  color: #111B19;
  font-weight: 700;
  letter-spacing: 0.01em;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
  margin: 28px auto;
  max-width: 120px;
  border-color: #000;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
  padding: 20px;
  background: #fff;
  border: 2px solid #000;
  border-radius: 12px;
}

/* "Cart totals" / product titles — keep readable (WC can hide/clip these) */
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
  display: block !important;
  visibility: visible !important;
  color: #111B19 !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 1rem !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product {
  visibility: visible !important;
  color: #111B19;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart__table,
body.woocommerce-cart table.wc-block-cart-items {
  width: 100%;
  border-color: #e5e5e5;
  table-layout: auto;
}

body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td {
  color: #111B19;
}

body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__wrap {
  min-width: 0;
  overflow: visible;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart a.wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #111B19 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-decoration: none;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-cart a.wc-block-components-product-name:hover {
  color: #000 !important;
}

body.woocommerce-cart .wc-block-grid__products {
  margin: 0;
  gap: 16px;
}

body.woocommerce-cart .wc-block-grid__product {
  padding: 12px;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

body.woocommerce-cart .wc-block-grid__product-title {
  color: #111B19;
  font-weight: 700;
}

body.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
body.woocommerce-cart .wc-block-grid__product a.wp-block-button__link {
  border: 2px solid #000 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: #000 !important;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

body.woocommerce-cart .wc-block-grid__product .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-grid__product a.wp-block-button__link:hover {
  background-color: #000 !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  body.woocommerce-cart .imperiales-page-title,
  body.woocommerce-checkout .imperiales-page-title {
    width: calc(100% - 24px);
    margin-top: 32px;
    padding: 20px 16px 0;
    font-size: 1.4rem;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
  body.woocommerce-cart .wp-block-woocommerce-cart.alignfull,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide,
  body.woocommerce-checkout .wp-block-woocommerce-checkout.alignfull {
    width: calc(100% - 24px);
    margin: 0 auto 56px;
    padding: 16px 16px 20px;
  }
}

/* Cart / checkout submit (blocks + classic) */
.wc-block-cart__submit-button.wc-block-components-button,
.wc-block-components-checkout-place-order-button.wc-block-components-button,
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout #place_order,
.woocommerce #payment #place_order {
  border: 2px solid #000 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: #000 !important;
  font-weight: 700;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.wc-block-cart__submit-button.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button.wc-block-components-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce #payment #place_order:hover {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

.wc-block-cart__submit-button.wc-block-components-button:hover .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button.wc-block-components-button:hover .wc-block-components-button__text {
  color: #fff !important;
}

.woocommerce #customer_login .woocommerce-form .woocommerce-LostPassword a {
  color: #111B19;
}

.woocommerce #customer_login .woocommerce-form .woocommerce-LostPassword a:hover {
  color: #000;
}

.woocommerce #customer_login .woocommerce-form.woocommerce-form-register {
  max-width: 100%;
  margin: 0 auto 40px;
  padding: 28px 28px 32px;
}

/* My Account: logged-in — match login style */
.woocommerce-account.logged-in .woocommerce {
  max-width: 860px;
  margin: 56px auto 80px;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: flex-start;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
  float: none;
  width: 240px;
  flex: 0 0 240px;
  margin: 0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 8px;
  list-style: none;
  background: #000;
  border: 2px solid #fff;
  border-radius: 16px;
  box-shadow: 0 0 0 2px #000;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li {
  margin: 0 0 4px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li:last-child {
  margin-bottom: 0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a {
  display: block;
  margin: 0;
  padding: 12px 16px;
  border-radius: 12px;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 700;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #fff;
  color: #000;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 28px;
  background: #fff;
  border: 2px solid #000;
  border-radius: 16px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-account.logged-in .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account.logged-in .woocommerce-MyAccount-content .button {
  border: 2px solid #000;
  border-radius: 12px;
  padding: 12px 22px;
  font-weight: 700;
  background-color: #000;
  color: #fff;
  transition: background-color .2s ease, color .2s ease;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-account.logged-in .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .button:hover {
  background-color: #fff;
  color: #000;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content input.input-text,
.woocommerce-account.logged-in .woocommerce-MyAccount-content select,
.woocommerce-account.logged-in .woocommerce-MyAccount-content textarea {
  border: 1px solid #cfcfcf;
  border-radius: 10px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content select:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content textarea:focus {
  border-color: #000;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
  outline: none;
}

@media (max-width: 767px) {
  .woocommerce-account.logged-in .woocommerce {
    flex-direction: column;
    margin-top: 40px;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    width: 100%;
    flex: 0 0 auto;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-content {
    width: 100%;
    padding: 22px 18px;
  }
}

@media (max-width: 480px) {
  .woocommerce-account:not(.logged-in) .woocommerce {
    margin-top: 40px;
  }

  .woocommerce #customer_login .woocommerce-form,
  .woocommerce #customer_login .woocommerce-form.woocommerce-form-register {
    padding: 22px 18px 26px;
  }
}

/* Itinerary — Odisea-style numbered timeline */
.imperiales-itinerary-wrapper {
  margin-top: 32px;
}

.imperiales-itinerary-heading {
  margin: 0 0 24px;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
  color: #082a45;
}

.imperiales-itinerary-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.imperiales-itinerary-item {
  position: relative;
  opacity: 1;
  transform: none;
}

/* Animation only after JS marks the list (keeps content visible if JS fails / tab is hidden) */
.imperiales-itinerary-animate .imperiales-itinerary-item {
  opacity: 0;
  transform: translateX(-20px);
  transition:
    opacity 0.55s ease var(--itinerary-delay, 0ms),
    transform 0.55s ease var(--itinerary-delay, 0ms);
}

.imperiales-itinerary-animate .imperiales-itinerary-item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.imperiales-itinerary-item:last-child .imperiales-itinerary-line {
  display: none;
}

.imperiales-itinerary-line {
  position: absolute;
  left: 21px;
  top: 48px;
  width: 2px;
  height: calc(100% + 0.5rem);
  background: linear-gradient(
    to bottom,
    var(--primary) 0%,
    color-mix(in srgb, var(--primary) 30%, transparent) 100%
  );
  pointer-events: none;
}

.imperiales-itinerary-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.imperiales-itinerary-number {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--primary) 30%, transparent);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

.imperiales-itinerary-card {
  flex: 1;
  min-width: 0;
  padding: 16px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent);
  border-radius: 6px;
  transition: box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.imperiales-itinerary-card:hover {
  background: rgba(255, 255, 255, 0.85);
  border-color: color-mix(in srgb, var(--primary) 35%, transparent);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.imperiales-itinerary-title {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 600;
  color: #082a45;
}

.imperiales-itinerary-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
}

.imperiales-itinerary-desc p {
  margin: 0 0 10px;
}

.imperiales-itinerary-desc p:last-child {
  margin-bottom: 0;
}

/* Parent accordion Tour Plan styles unused with itinerary layout */
.imperiales-itinerary-wrapper .tour-plan-content .item-tour-plan,
.imperiales-itinerary-wrapper .tour-plan-title,
.imperiales-itinerary-wrapper .tour-plan-description {
  all: unset;
}

.woocommerce div.product.product-type-variable .woocommerce-tabs .panel#tab-additional_information .imperiales-itinerary-wrapper {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.woocommerce div.product.product-type-variable .woocommerce-tabs .panel#tab-additional_information .imperiales-itinerary-heading {
  display: block !important;
  text-align: left;
}

@media (max-width: 500px) {
  .imperiales-itinerary-heading {
    font-size: 28px;
  }

  .imperiales-itinerary-row {
    gap: 12px;
  }

  .imperiales-itinerary-card {
    padding: 14px;
  }
}

@supports not (color: color-mix(in srgb, red, blue)) {
  .imperiales-itinerary-line {
    background: linear-gradient(to bottom, var(--primary) 0%, rgba(0, 0, 0, 0.12) 100%);
  }

  .imperiales-itinerary-number {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  }

  .imperiales-itinerary-card {
    border-color: rgba(0, 0, 0, 0.1);
  }
}

/* Tour / product header: black band, white text */
.ova-content-single-product .single-product-header {
  background-color: #000;
  color: #fff;
  /* White line inside the black band (border-bottom is invisible on white content) */
  box-shadow: inset 0 -3px 0 #fff;
  padding-bottom: 3px;
}

.ova-content-single-product .single-product-header .ova-product-title {
  color: #fff;
}

.ova-content-single-product .single-product-header .ova-location-review .ova-product-location a,
.ova-content-single-product .single-product-header .ova-location-review .ova-product-location i {
  color: #fff;
}

.ova-content-single-product .single-product-header .ova-location-review .ova-product-location a:hover {
  color: rgba(255, 255, 255, 0.75);
}

.ova-content-single-product .single-product-header .ova-product-review .count-review,
.ova-content-single-product .single-product-header .ova-product-review a {
  color: #fff;
}

.ova-content-single-product .single-product-header .ova-features-product .feature i,
.ova-content-single-product .single-product-header .ova-features-product .feature .title-desc .title,
.ova-content-single-product .single-product-header .ova-features-product .feature .title-desc .desc {
  color: #fff;
}

.ova-content-single-product .single-product-header .ova-features-product .feature .title-desc .desc {
  opacity: 0.8;
}

.ova-content-single-product .single-product-header .ova-video-gallery .btn-video-gallery,
.ova-content-single-product .single-product-header .ova-video-gallery .btn-share,
.ova-content-single-product .single-product-header .ova-single-product-wishlist a {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}

/* Hide gallery fancybox button in product header */
.ova-content-single-product .btn-header.btn-gallery.btn-video-gallery.fancybox {
  display: none !important;
}

/* Hide video/gallery header buttons on mobile */
@media (max-width: 767px) {
  .ova-video-gallery {
    display: none !important;
  }
}

.ova-content-single-product .single-product-header .ova-video-gallery .btn-video-gallery:hover,
.ova-content-single-product .single-product-header .ova-video-gallery .btn-share:hover,
.ova-content-single-product .single-product-header .ova-single-product-wishlist a:hover {
  color: #fff;
  border-color: #fff;
}

/* Tour feature icons under gallery — nearly full width above the booking form */
.ova-content-single-product .single-product-header .ova-features-product,
.ova-features-product {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  column-gap: 28px;
  row-gap: 0;
  max-width: 95%;
  width: 95%;
  box-sizing: border-box;
  padding-right: 0;
}

.ova-features-product .feature {
  display: flex;
  align-items: flex-start !important;
  width: auto !important;
  /* Content-based width so Horarios can be wider than short items */
  flex: 1 1 auto;
  min-width: 0;
  gap: 12px;
}

.ova-features-product .feature i {
  width: 42px;
  min-width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  line-height: 1;
  flex-shrink: 0;
  box-sizing: border-box;
}

.ova-features-product .feature .title-desc {
  flex: 1 1 auto;
  min-width: 0;
}

.ova-features-product .feature .title-desc .title {
  font-size: 18px;
  line-height: 1.3;
  margin: 0 0 6px;
}

.ova-features-product .feature .title-desc .desc {
  font-size: 17px;
  line-height: 1.45;
  margin: 0;
  word-spacing: 0.15em;
  letter-spacing: 0.01em;
}

/* Keep form below the features strip (no overlap into the 95% row) */
.ova-forms-product .forms-wrapper {
  margin-top: 0;
}

/* Booking form only: forms are display:none until a tab is clicked */
.ova-forms-product.imperiales-booking-only .forms-wrapper .ova-booking-form {
  display: block;
}

/* Time slots: space between wrapped rows */
.ova-forms-product .forms-wrapper form.form .ovabrw-form-container .rental_item .ovabrw-times .duration {
  margin-bottom: 12px;
}

/* Booking submit button */
.ova-forms-product .forms-wrapper .ova-booking-form form.booking-form .booking-form-submit {
  background-color: #f7ff00 !important;
  color: #000 !important;
  border: 2px solid #000 !important;
}

.ova-forms-product .forms-wrapper .ova-booking-form form.booking-form .booking-form-submit:hover {
  background-color: #f7ff00 !important;
  color: #000 !important;
  border-color: #000 !important;
  opacity: 0.9;
}

.ova-forms-product .forms-wrapper .ova-booking-form form.booking-form .booking-form-submit .ovabrw-submit-loading i,
.ova-forms-product .forms-wrapper .ova-booking-form form.booking-form .booking-form-submit:hover .ovabrw-submit-loading i {
  color: #000 !important;
}

/* Inline check-in calendar (Odisea-style) in reserve form */
.ova-forms-product .ovabrw-date-field.imperiales-has-inline-calendar {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ova-forms-product .imperiales-has-inline-calendar input.checkin-date.ovabrw-datepicker {
  width: 100%;
  box-sizing: border-box;
}

.ova-forms-product .easepick-wrapper.imperiales-inline-calendar {
  display: block !important;
  position: relative !important;
  width: 100%;
  z-index: 2;
  pointer-events: auto !important;
}

.ova-forms-product .easepick-wrapper.imperiales-inline-calendar .easepick-container,
.ova-forms-product .easepick-wrapper.imperiales-inline-calendar > div {
  width: 100% !important;
  max-width: 100%;
}

@media (max-width: 1200px) {
  .ova-content-single-product .single-product-header .ova-features-product,
  .ova-features-product {
    max-width: 95%;
    width: 95%;
    column-gap: 20px;
  }
}

@media (max-width: 1024px) {
  .ova-content-single-product .single-product-header .ova-features-product,
  .ova-features-product {
    max-width: 100%;
    width: 100%;
    padding-right: 0;
  }

  .ova-forms-product .forms-wrapper {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .ova-features-product {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  .ova-features-product .feature {
    flex: 0 0 auto;
    min-width: 140px;
  }
}

/* Scroll-to-top: clear WhatsApp floating button */
#scrollUp {
  bottom: 100px;
  right: 40px;
}

/* Tour single: soft full-width dividers after each left-column section */
.ova-content-single-product .ova-single-product-summary-left .content-product-item:not(:last-child) {
  border-bottom: 0 !important;
}

.ova-content-single-product .ova-single-product-summary-left > .content-product-item:not(:last-child),
.ova-content-single-product .ova-single-product-summary-left > .imperiales-free-cancellation,
.ova-content-single-product .ova-single-product-summary-left > .single-product-related,
.ova-content-single-product .ova-single-product-summary-left > .imperiales-meeting-point,
body.single-product-not-rental .ova-content-single-product .single-product-summary > .imperiales-meeting-point {
  position: relative;
  padding-bottom: 48px !important;
  margin-bottom: 8px;
  width: 100%;
  box-sizing: border-box;
}

.ova-content-single-product .ova-single-product-summary-left > .single-product-reviews {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.ova-content-single-product .ova-single-product-summary-left > .content-product-item:not(:last-child)::before,
.ova-content-single-product .ova-single-product-summary-left > .imperiales-free-cancellation::before,
.ova-content-single-product .ova-single-product-summary-left > .single-product-related::before,
.ova-content-single-product .ova-single-product-summary-left > .imperiales-meeting-point::before,
body.single-product-not-rental .ova-content-single-product .single-product-summary > .imperiales-meeting-point::before {
  content: "";
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  pointer-events: none;
  z-index: 0;
  background: rgba(0, 0, 0, 0.08);
}

.ova-content-single-product .ova-single-product-summary-left > .content-product-item:not(:last-child)::after,
.ova-content-single-product .ova-single-product-summary-left > .imperiales-free-cancellation::after,
.ova-content-single-product .ova-single-product-summary-left > .single-product-related::after,
.ova-content-single-product .ova-single-product-summary-left > .imperiales-meeting-point::after {
  content: none;
}

/* Sticky booking / shop buy box on desktop */
@media (min-width: 1025px) {
  .ova-content-single-product .single-product-summary {
    margin-bottom: 48px;
  }

  .ova-content-single-product .single-product-summary .container_site {
    align-items: flex-start;
  }

  .ova-content-single-product .ova-single-product-summary-right {
    position: sticky;
    top: 110px;
    align-self: flex-start;
    z-index: 6;
  }

  .ova-content-single-product .ova-forms-product .forms-wrapper {
    margin-top: 0;
  }
}

/* Simple / variable products — tour-style layout */
/* Title/features band is full-bleed via single-product.php (no #woo_main box). */
body.single-product-not-rental.woocommerce #woo_main {
  margin-top: 0;
}

body.single-product-not-rental .ova-single-product {
  /* Match tour spacing under the site header */
  margin-top: 0;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart {
  padding: 0 24px 28px;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart .variations_form,
.imperiales-shop-buybox .imperiales-shop-buybox__cart form.cart {
  margin: 0;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart table.variations {
  width: 100%;
  margin: 0 0 16px;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart table.variations th,
.imperiales-shop-buybox .imperiales-shop-buybox__cart table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
  background: none;
  border: 0;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart table.variations th {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--heading, #000);
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart table.variations td {
  margin: 0 0 14px;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart table.variations select {
  width: 100%;
  max-width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--border, #ddd);
  border-radius: 4px;
  background: #fff;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart .woocommerce-variation-price {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 700;
}

.imperiales-shop-buybox .imperiales-people-field {
  margin: 0 0 10px;
}

.imperiales-shop-buybox .imperiales-people-label {
  display: block;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--heading, #000);
}

.imperiales-shop-buybox .imperiales-people-field .quantity {
  display: block !important; /* overrides WP Additional CSS: .quantity { display:none !important; } */
  width: 100%;
  margin: 0;
}

.imperiales-shop-buybox .imperiales-people-field .quantity .qty,
.imperiales-shop-buybox .imperiales-people-field input.imperiales-people-input {
  display: block !important;
  width: 100%;
  max-width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--border, #ddd);
  border-radius: 4px;
  background: #fff;
  box-sizing: border-box;
  opacity: 1 !important;
  visibility: visible !important;
}

.imperiales-shop-buybox .imperiales-people-total {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  margin: 0 0 16px;
  padding: 16px 0 0;
  box-sizing: border-box;
  float: none !important;
  clear: both;
  overflow: hidden;
}

.imperiales-shop-buybox .imperiales-people-total-label,
.imperiales-shop-buybox .imperiales-people-total-amount,
.imperiales-shop-buybox .imperiales-people-total .woocommerce-Price-amount {
  float: none !important;
  max-width: 100%;
}

.imperiales-shop-buybox .imperiales-people-total-label {
  font-size: 16px;
  font-weight: 600;
  color: var(--heading, #000);
}

.imperiales-shop-buybox .imperiales-people-total-amount {
  font-size: 18px;
  font-weight: 700;
  color: var(--heading, #000);
  text-align: right;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart .quantity {
  margin: 0 12px 14px 0;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart .single_add_to_cart_button,
.imperiales-shop-buybox .imperiales-shop-buybox__cart button.single_add_to_cart_button {
  width: 100%;
  min-height: 52px;
  margin: 0;
  border: 2px solid #000;
  border-radius: 8px;
  background: var(--primary);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}

.imperiales-shop-buybox .imperiales-shop-buybox__cart .single_add_to_cart_button:hover {
  background: #333;
  color: #fff;
  border-color: #000;
}

/* Shop/archive add-to-cart / book buttons */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.ova-product-wrapper-price .button,
.ova-product .button.add_to_cart_button,
.ova-product a.button {
  border: 2px solid #000 !important;
  border-radius: 8px !important;
}

.ova-forms-product .forms-wrapper .ova-booking-form form.booking-form .booking-form-submit {
  border-radius: 8px !important;
}

.imperiales-shop-buybox .price-product .price .woocommerce-Price-amount {
  font-size: inherit;
}

.ova-forms-product .price-product .imperiales-free-reservation,
.imperiales-shop-buybox .price-product .imperiales-free-reservation {
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--heading, #111);
}

body.single-product-not-rental .ova-content-single-product #product-description {
  margin-bottom: 24px;
}

/* Tour single: body text + icons larger across left content */
.ova-content-single-product .ova-single-product-summary-left,
.ova-content-single-product .single-product-header .ova-features-product {
  font-size: 18px;
}

.ova-content-single-product .ova-single-product-summary-left p,
.ova-content-single-product .ova-single-product-summary-left li,
.ova-content-single-product .ova-single-product-summary-left .content-product-item,
.ova-content-single-product #tour-description,
.ova-content-single-product #tour-description p {
  font-size: 18px;
  line-height: 1.6;
}

.ova-content-single-product .ova-single-product-summary-left p {
  text-align: justify;
}

.ova-content-single-product .ova-single-product-summary-left .content-product-item ul li::before {
  font-size: 22px;
}

/* Tour single: keep section headings the same size */
.ova-content-single-product .content-product-item > h2,
.ova-content-single-product .content-product-item h2.heading-tour-included-excluded,
.ova-content-single-product .content-product-item h2.heading-tour-plan,
.ova-content-single-product .ova-tour-review .woocommerce-Reviews-title,
.ova-content-single-product .single-product-reviews .woocommerce-Reviews-title {
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
}

@media (max-width: 767px) {
  .ova-content-single-product .content-product-item > h2,
  .ova-content-single-product .content-product-item h2.heading-tour-included-excluded,
  .ova-content-single-product .content-product-item h2.heading-tour-plan,
  .ova-content-single-product .ova-tour-review .woocommerce-Reviews-title,
  .ova-content-single-product .single-product-reviews .woocommerce-Reviews-title,
  .ova-content-single-product .single-product-related .related-title {
    font-size: 28px;
  }
}

/* Related products: compact size, prevent overlap in left column */
.ova-content-single-product .single-product-related {
  margin: 0 0 48px 0;
  overflow: hidden;
}

.ova-content-single-product .single-product-related .ova-product-slider,
.ova-content-single-product .single-product-related .swiper {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

.ova-content-single-product .single-product-related .swiper-slide {
  height: auto;
  box-sizing: border-box;
}

.ova-content-single-product .single-product-related .ova-product {
  width: 100% !important;
  max-width: 100%;
  margin: 0;
}

.ova-content-single-product .single-product-related .related-title {
  padding-bottom: 20px;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
}

.ova-content-single-product .single-product-related .ova-product .ova_head_product .ova-product-thumbnail img,
.ova-content-single-product .single-product-related .products .ova-product .ova_head_product .ova-product-thumbnail img {
  min-height: 0;
  height: 160px;
  object-fit: cover;
}

.ova-content-single-product .single-product-related .ova-product .ova_foot_product {
  padding: 14px 14px 12px;
}

.ova-content-single-product .single-product-related .ova-product .ova_foot_product .ova-product-title {
  padding-bottom: 8px;
}

.ova-content-single-product .single-product-related .ova-product .ova_foot_product .ova-product-title a {
  font-size: 16px;
  line-height: 1.3;
}

.ova-content-single-product .single-product-related .ova-product-day-title-location,
.ova-content-single-product .single-product-related .ova-product-duration,
.ova-content-single-product .single-product-related .ova-product-location,
.ova-content-single-product .single-product-related .ova-product-review-and-price {
  font-size: 13px;
}

.ova-content-single-product .single-product-related .ova-product .imperiales-reserve-free__free {
  font-size: 18px;
}

/* Reviews after meeting point */
.ova-content-single-product .single-product-reviews {
  margin: 0 0 80px 0;
  padding-top: 0;
  border-top: 0;
}

.ova-content-single-product .single-product-reviews .content-product-item.ova-tour-review {
  border-bottom: 0;
  padding-bottom: 0;
}

/* Free cancellation (before related) */
.imperiales-free-cancellation {
  margin: 0 0 48px 0;
  padding-top: 0;
  border-top: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

.imperiales-free-cancellation__inner {
  max-width: none;
  width: 100%;
}

.imperiales-free-cancellation__title {
  margin: 0 0 12px;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--heading, #000);
}

.imperiales-free-cancellation__text {
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: var(--text, #333);
}

/* Meeting point (after related, before ratings) */
.imperiales-meeting-point {
  margin: 0 0 48px 0;
  padding-top: 0;
  border-top: 0;
}

.imperiales-meeting-point__inner {
  max-width: none;
  width: 100%;
}

.imperiales-meeting-point__title {
  margin: 0 0 12px;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--heading, #000);
}

.imperiales-meeting-point__address {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.55;
  color: var(--text, #333);
}

.imperiales-meeting-point__pin {
  flex-shrink: 0;
  margin-top: 0.15em;
  font-size: 1.15em;
  line-height: 1;
  color: var(--primary, #2b59ff);
}

.imperiales-meeting-point__address-text {
  flex: 1;
  min-width: 0;
}

.imperiales-meeting-point__actions {
  margin: 0;
}

.imperiales-meeting-point__map-btn {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--primary, #2b59ff);
  text-decoration: underline;
  cursor: pointer;
}

.imperiales-meeting-point__map-btn:hover,
.imperiales-meeting-point__map-btn:focus-visible {
  color: var(--heading, #000);
}

/* Meeting point map modal */
html.imperiales-map-modal-open,
html.imperiales-map-modal-open body {
  overflow: hidden;
}

.imperiales-map-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.imperiales-map-modal[hidden] {
  display: none !important;
}

.imperiales-map-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.imperiales-map-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: calc(100vh - 48px);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.imperiales-map-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border, #e5e5e5);
}

.imperiales-map-modal__title {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
}

.imperiales-map-modal__close {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  width: 36px;
  height: 36px;
  font-size: 28px;
  line-height: 1;
  color: var(--heading, #000);
  cursor: pointer;
}

.imperiales-map-modal__body {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 280px;
  background: #f3f3f3;
}

.imperiales-map-modal__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 1024px) {
  .ova-content-single-product .single-product-related {
    margin: 0 0 40px 0;
  }

  .ova-content-single-product .single-product-reviews {
    margin: 0 0 60px 0;
    padding-top: 0;
  }

  .imperiales-free-cancellation {
    margin: 0 0 36px 0;
    padding-top: 0;
  }

  .imperiales-free-cancellation__title {
    font-size: 28px;
  }

  .imperiales-meeting-point {
    margin: 0 0 36px 0;
    padding-top: 0;
  }

  .imperiales-meeting-point__title {
    font-size: 28px;
  }

  .imperiales-map-modal {
    padding: 12px;
  }

  .imperiales-map-modal__body {
    min-height: 240px;
    aspect-ratio: 4 / 5;
  }
}

/**
 * Footer payment logos (.payment-logos)
 * Span first 2 of 4 columns without expanding the flex column
 * (a 200% in-flow width was collapsing the SÍGUENOS / social icons column).
 */
@media (min-width: 1025px) {
  .elementor-section > .elementor-container > .elementor-col-25 {
    min-width: 0;
  }

  .elementor-section .elementor-col-25:has(.payment-logos) {
    position: relative;
    overflow: visible;
    z-index: 1;
  }

  .elementor-section .elementor-col-25 .payment-logos {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    overflow: visible;
  }

  .elementor-section .elementor-col-25 .payment-logos img {
    display: block;
    width: 200%;
    max-width: none !important;
    height: auto;
    margin-left: -100%; /* draw across columns 1–2 */
  }

  /* Keep social icons above the oversized payment image */
  .elementor-section .elementor-col-25:has(.elementor-widget-social-icons),
  .elementor-widget-social-icons {
    position: relative;
    z-index: 5;
  }
}

/**
 * Elementor Social Icons widget is saved with columns = 0
 * (class elementor-grid-0 → Elementor sets font-size:0 and skips display:inline-grid).
 * Icons can flash visible then vanish when Elementor's deferred CSS loads.
 */
.elementor-widget-social-icons.elementor-grid-0,
.elementor-element.elementor-grid-0.elementor-widget-social-icons {
  --grid-template-columns: repeat(2, auto) !important;
}

.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,
.elementor-widget-social-icons.elementor-grid-0:not(:has(.elementor-widget-container)),
.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container,
.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container {
  font-size: var(--icon-size, 43px) !important;
  line-height: 1 !important;
}

.elementor-widget-social-icons.elementor-grid-0 .elementor-social-icons-wrapper.elementor-grid,
.elementor-element.elementor-grid-0.elementor-widget-social-icons .elementor-social-icons-wrapper.elementor-grid {
  display: inline-grid !important;
  grid-template-columns: repeat(2, auto) !important;
  grid-column-gap: var(--grid-column-gap, 28px);
  grid-row-gap: var(--grid-row-gap, 0px);
  justify-content: center;
  justify-items: center;
  align-items: center;
}

.elementor-widget-social-icons .elementor-social-icon {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: var(--icon-size, 43px) !important;
}

.elementor-widget-social-icons .elementor-social-icon .icomoon,
.elementor-widget-social-icons .elementor-grid-item {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: inherit !important;
}

/* AJAX search sort label input — text inputs don't grow with width:auto */
.ovabrw-search-ajax .ovabrw-tour-filter .right-filter .filter-sort > .input_select_input {
  box-sizing: content-box;
  width: 38ch !important;
  min-width: 265px !important;
  max-width: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap;
  overflow: visible !important;
  text-overflow: clip !important;
  field-sizing: content;
}

.ovabrw-search-ajax .ovabrw-tour-filter .right-filter .filter-sort ul.input_select_list {
  width: max-content;
  min-width: 280px;
  max-width: min(380px, 92vw);
  max-height: none;
  overflow: visible;
  font-size: 16px;
  white-space: nowrap;
}

.ovabrw-search-ajax .ovabrw-tour-filter .right-filter .filter-sort ul.input_select_list li.term_item {
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
  padding: 12px 18px;
}

/* Excursiones Grupales: lock first search field (Tipo de tour) */
.elementor-element-cb93edd .ovabrw-s-field > .search-field.imperiales-search-field-readonly .select2-container,
.elementor-element-cb93edd .ovabrw-s-field > .search-field.imperiales-search-field-readonly select,
.elementor-element-cb93edd .ovabrw-s-field > .search-field.imperiales-search-field-readonly .ovabrw-input {
  pointer-events: none;
  cursor: default;
}

.elementor-element-cb93edd .ovabrw-s-field > .search-field.imperiales-search-field-readonly .select2-selection,
.elementor-element-cb93edd .ovabrw-s-field > .search-field.imperiales-search-field-readonly .select2-selection__rendered,
.elementor-element-cb93edd .ovabrw-s-field > .search-field.imperiales-search-field-readonly select {
  background-color: transparent !important;
  background: none !important;
  font-size: 1.1em;
  font-weight: 700;
}

/* Tablet/mobile: slightly larger logos when columns stack */
@media (max-width: 1024px) {
  .payment-logos img {
    width: 150% !important;
    max-width: 150% !important;
    height: auto;
  }
}

/* Guest picker: price column + top-align +/- (parent uses 48px input which
   vertically fills multi-line rows and looks centered even with flex-start) */
.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px;
  margin-bottom: 14px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons:last-child,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons:last-child,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons:last-child {
  margin-bottom: 0;
}

.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 112px);
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px;
  box-sizing: border-box;
}

.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .ovabrw-label,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .ovabrw-label,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .ovabrw-label,
.ova-forms-product .forms-wrapper .ovabrw-wrapper-guestspicker .imperiales-adult-category-text .ovabrw-label {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-price,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-price,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-price {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 3.25rem;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap;
  line-height: 1.3 !important;
  align-self: flex-start !important;
}

.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-labels,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-labels,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-labels {
  margin-left: 0 !important;
}

.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .guests-button,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .guests-button,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .guests-button {
  display: flex !important;
  flex: 0 0 100px !important;
  width: 100px !important;
  min-width: 100px !important;
  height: 26px !important;
  align-self: flex-start !important;
  align-items: center !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Theme sets input height: 48px — that is what made +/- look vertically centered */
.ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .guests-button input,
.ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .guests-button input,
.ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .guests-button input {
  height: 26px !important;
  line-height: 26px !important;
  padding: 0 !important;
}

.ova-forms-product .forms-wrapper .ovabrw-wrapper-guestspicker .imperiales-adult-category-text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  min-width: 0;
}

.ova-forms-product .forms-wrapper .ovabrw-wrapper-guestspicker .imperiales-adult-category-desc {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
  color: #6b6b6b;
}

/* Mobile: stack label + price so long names (Estudiantes) never collide with −/+ */
@media (max-width: 600px) {
  .ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content,
  .ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content,
  .ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content {
    max-width: min(100vw - 32px, 100%);
    box-sizing: border-box;
  }

  .ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons,
  .ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons,
  .ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons {
    gap: 10px !important;
  }

  .ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description,
  .ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description,
  .ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    max-width: calc(100% - 110px);
  }

  .ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-price,
  .ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-price,
  .ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .guests-price {
    text-align: left !important;
    width: auto !important;
    min-width: 0;
  }

  .ova-forms-product .forms-wrapper .ova-booking-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .ovabrw-label,
  .ova-forms-product .forms-wrapper .ova-request-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .ovabrw-label,
  .ova-forms-product .forms-wrapper .ova-enquiry-form .ovabrw-wrapper-guestspicker .ovabrw-guestspicker-content .guests-buttons .description .ovabrw-label,
  .ova-forms-product .forms-wrapper .ovabrw-wrapper-guestspicker .imperiales-adult-category-text .ovabrw-label {
    width: 100%;
    max-width: 100%;
  }
}

/* WooCommerce inline notices (errors / info) */
.woocommerce-info,
.woocommerce-error {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
  width: auto;
  box-sizing: border-box;
  margin: 0 0 16px !important;
  padding: 14px 16px 14px 48px !important;
  line-height: 1.4 !important;
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #000 !important;
  border-top: 2px solid #000 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  list-style: none !important;
}

.woocommerce-info::before,
.woocommerce-error::before {
  top: 50% !important;
  left: 16px !important;
  transform: translateY(-50%);
  color: #000 !important;
  font-size: 18px;
  line-height: 1;
}

.woocommerce-error::before {
  color: #b42318 !important;
}

.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 10px 18px !important;
  min-height: 0;
  line-height: 1.2 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  text-decoration: none !important;
  background-color: #f7ff00 !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  border-radius: 12px !important;
}

/* Added-to-cart success: fixed toast popup (not in page layout) */
.imperiales-toast-host {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 100000;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: min(420px, calc(100vw - 32px));
  pointer-events: none;
}

.imperiales-toast-host .imperiales-toast.woocommerce-message {
  pointer-events: auto;
  position: relative;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 16px 40px 16px 48px !important;
  line-height: 1.4 !important;
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #000 !important;
  border-top: 2px solid #000 !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18) !important;
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity 0.28s ease, transform 0.28s ease;
}

.imperiales-toast-host .imperiales-toast.woocommerce-message.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.imperiales-toast-host .imperiales-toast.woocommerce-message.is-hiding {
  opacity: 0;
  transform: translateY(-12px);
}

.imperiales-toast-host .imperiales-toast.woocommerce-message::before {
  top: 18px !important;
  left: 16px !important;
  transform: none;
  color: #000 !important;
  font-size: 18px;
  line-height: 1;
}

.imperiales-toast__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}

.imperiales-toast-host .imperiales-toast .button,
.imperiales-toast-host .woocommerce-message .button {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 8px 14px !important;
  min-height: 0;
  line-height: 1.2 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  text-decoration: none !important;
  background-color: #f7ff00 !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  border-radius: 10px !important;
  transition: opacity 0.2s ease;
}

.imperiales-toast-host .imperiales-toast .button:hover {
  opacity: 0.9;
}

.imperiales-toast__close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #111;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.imperiales-toast__close:hover {
  background: #f2f2f2;
}

@media (max-width: 767px) {
  .imperiales-toast-host {
    top: auto;
    bottom: 20px;
    right: 16px;
    left: 16px;
    width: auto;
  }
}
