/* Basic styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  --transition-duration: 0.25s;
  --transition-timing-function: ease-out;
}

a {
  transition: all var(--transition-duration) var(--transition-timing-function);
}

a:focus,
a:focus-within {
  outline: none;
}

img {
  display: block;
  max-width: 100%;
}

.wp-element-button:has(img) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

@media (max-width: 767px) {
  h1 br,
  h2 br,
  h3 br,
  h4 br,
  h5 br,
  h6 br,
  p br,
  .on-mobile-hide {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .on-tablet-hide {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .on-desktop-hide {
    display: none !important;
  }
}

footer.wp-block-template-part {
  margin-top: 0 !important;
}

/* navigation */
.navbar-transparent.wp-block {
  background-color: #000;
}

/* footer */
.footer-menu .wp-block-navigation-link:hover .wp-block-navigation-item__label {
  transition: all var(--transition-duration) var(--transition-timing-function);
}

.otel-position-relative {
  position: relative;
}

.footer-menu .wp-block-navigation-link:hover .wp-block-navigation-item__label {
  color: var(--wp--preset--color--white);
}

/* otel top rated products patterns */

.otel-top-rated-products .wp-block-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.otel-top-rated-products
  .wp-block-group.full-height
  .wp-block-woocommerce-product-image,
.otel-top-rated-products
  .wp-block-group.full-height
  .wc-block-components-product-image {
  display: block;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-width: 0;
}

.otel-top-rated-products
  .wp-block-group.full-height
  .wp-block-woocommerce-product-image
  > a,
.otel-top-rated-products
  .wp-block-group.full-height
  .wc-block-components-product-image
  > a {
  display: block;
  height: 100%;
  width: 100%;
}

.otel-top-rated-products .height-full > div {
  height: 100%;
}

.otel-top-rated-products
  .height-full
  > div
  .wc-block-product-template__responsive {
  height: 100%;
}

.otel-top-rated-products .height-full > div li.wc-block-product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.otel-top-rated-products .height-full > div li.wc-block-product .flex-grow {
  flex-grow: 1;
}

@media (min-width: 767px) {
  .otel-top-rated-products {
    overflow: hidden;
  }

  .otel-top-rated-products .flex-direction-col {
    display: flex;
    flex-direction: column;
  }

  .otel-top-rated-products .flex-direction-col > div {
    flex-grow: 1;
  }

  .otel-top-rated-products .flex-direction-col > div .wc-block-product-template,
  .otel-top-rated-products
    .flex-direction-col
    > div
    .wc-block-product-template
    .wp-block-columns {
    height: 100%;
    max-height: 254px;
  }

  .otel-top-rated-products .flex-direction-col > div:last-of-type {
    margin-top: 7px;
  }
}

@media (max-width: 782px) {
  .otel-top-rated-products .otel-top-rated-product-image-container {
    overflow: hidden;
    min-height: auto !important;
    height: 250px;
  }

  .otel-top-rated-products .flex-direction-col > .otel-align-streach {
    margin-top: 0;
  }
}

/* Otel related product */

.otel-related-product-price {
  display: inline-block;
  position: absolute !important;
  width: max-content;
  top: 73px;
  left: 0;
}

.otel-related-product-price .wc-block-components-product-price {
  font-size: 0 !important;
  padding: 12.5px 11px !important;
}

.otel-related-product-price
  .wc-block-components-product-price
  .woocommerce-Price-amount.amount {
  font-weight: 700;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-align: center;
}

.otel-related-product-price
  .wc-block-components-product-price
  .woocommerce-Price-amount.amount::after,
.otel-related-product-price .wc-block-formatted-money-amount::after {
  content: "/Night";
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: 0px;
  text-align: center;
}

.wc-block-components-notice-banner {
  margin-top: 80px !important;
}

/* single product accordions styles */

.single-product
  .wp-block-woocommerce-accordion-item
  > h3.wp-block-woocommerce-accordion-header {
  margin: 0;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 28.8px;
  color: rgb(37, 37, 45);
}

.single-product
  .wp-block-woocommerce-accordion-panel
  > .accordion-content__wrapper
  > h2 {
  font-size: 18px;
  font-weight: 600;
  line-height: 23.4px;
  color: rgb(37, 37, 45);
}

.single-product .wp-block-woocommerce-accordion-item:last-of-type {
  display: none;
}

/* product single page datepicker styles */

.single-product #wc-bookings-booking-form {
  border-radius: 5px;
}

.product-type-accommodation-booking .wc-bookings-date-picker {
  border: none !important;
}

.wc-bookings-date-picker .wc-bookings-date-picker-date-fields {
  font-size: 0;
}

.wc-bookings-date-picker .wc-bookings-date-picker-date-fields span {
  font-size: 18px;
}

.wc-bookings-date-picker
  .wc-bookings-date-picker-date-fields
  label:not(:last-of-type) {
  margin-right: 10px;
}

p.wc_bookings_field_persons {
  margin-bottom: 0 !important;
}

.wc-bookings-date-picker .wc-bookings-date-picker-date-fields label input,
p.wc_bookings_field_persons input {
  border-radius: 5px;
  padding: 5px;
  color: #19191d;
}
.wc-bookings-date-picker .wc-bookings-date-picker-date-fields label span {
  font-size: 12px;
  font-weight: 400;
}

.wc-bookings-date-picker .ui-datepicker td.bookable a {
  background-color: var(--wp--preset--color--primary) !important;
}

/* account page */

.woocommerce-Addresses .woocommerce-Address header h2 {
  font-size: 36px;
}
.u-columns.woocommerce-Addresses.addresses {
  margin-top: 18px;
}
.woocommerce-Addresses .woocommerce-Address header a.edit {
  float: none !important;
}

.woocommerce-MyAccount-content a.vendor-dashboard {
  margin-top: 20px;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  border-radius: 10px;
  border: 1px solid var(--wp--preset--color--primary);
  padding: 1.125rem 1.25rem !important;
  font-size: var(--wp--preset--font-size--medium);
  font-family: var(--wp--preset--font-family--lato);
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition-duration) var(--transition-timing-function);
}

/* shop page */

.post-type-archive-product .wc-block-components-product-price {
  font-size: 0 !important;
}

.post-type-archive-product
  .wc-block-components-product-price
  .woocommerce-Price-amount {
  font-size: var(--wp--preset--font-size--large);
}

.post-type-archive-product .woocommerce-ordering > select {
  padding: 5px 0px;
}

/* my account */

.woocommerce-account a {
  text-decoration: none;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
  width: 23%;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  width: 77%;
}

.woocommerce-account .woocommerce fieldset {
  border: none;
}

.woocommerce-account .woocommerce .woocommerce-EditAccountForm.edit-account {
  margin-bottom: 50px;
}

.woocommerce-account .woocommerce {
  padding: 0 20px;
  max-width: 1140px;
  margin: 0 auto;
  margin-top: 100px;
}

/* Mini cart */

.wc-block-mini-cart__empty-cart-wrapper > p {
  margin-bottom: 10px;
}

/* Checkout */

.wc-block-components-checkbox.wc-block-checkout__use-address-for-billing
  > label {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.woocommerce-checkout .wc-block-components-checkbox__mark {
  left: 0;
  top: 0;
}

.wc-block-checkout__add-note .wc-block-components-checkbox label {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* footer */

@media (max-width: 767px) {
  footer p.has-text-align-right,
  .dokan-footer .has-text-align-right {
    text-align: left;
  }
}
