/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

.karst-lang-switcher {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 99999;
  display: flex;
  gap: 8px;
}

.karst-lang-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 8px 10px;
  border-radius: 999px;
  text-decoration: none;
  background: rgba(255,255,255,.92);
  color: #143331;
  border: 1px solid rgba(47,127,122,.25);
  box-shadow: 0 8px 20px rgba(20,51,49,.08);
}

.karst-lang-switcher a.active {
  background: #2F7F7A;
  color: #fff;
}

.karst-room-archive-extras {
  padding: 0 24px 16px;
}

.karst-room-archive-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.karst-room-archive-meta li {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-size: 0.9rem;
  color: #5a6b68;
}

.karst-room-archive-meta i {
  color: #2f7f7a;
  font-size: 1rem;
}

.karst-room-archive-price {
  background-color: #fff;
  padding: 10px;
  font-size: 1.125rem;
  font-weight: 600;
  color: #143331;
  position: absolute;
  z-index: 10;
}

.karst-room-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35em;
}

.karst-room-price__prefix,
.karst-room-price__period {
  font-size: 0.95em;
  font-weight: 500;
  color: #5a6b68;
}

.karst-room-price__sale {
  color: #2f7f7a;
  font-weight: 700;
}

.karst-room-price__regular {
  opacity: 0.65;
}

.karst-room-single-details .karst-room-details__title {
  margin-bottom: 1rem;
}

/* Hero gallery thumb: first gallery image as background */
.single-tf_room .tf-hero-gallery-videos .karst-hero-gallery-thumb {
  padding: 0 !important;
  border: 2px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 8px 24px rgba(13, 38, 36, 0.25);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.single-tf_room .tf-hero-gallery-videos .karst-hero-gallery-thumb:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(13, 38, 36, 0.35);
}

.single-tf_room .tf-hero-gallery-videos .karst-hero-gallery-thumb a {
  position: relative;
}

.single-tf_room .tf-hero-gallery-videos .karst-hero-gallery-thumb a svg {
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

/* Room description: full content (backup if template swap misses) */
.single-tf_room .tf-overview-description .tf-short-description,
.single-tf_room .tf-see-description,
.single-tf_room .tf-see-less-description {
  display: none !important;
}

.single-tf_room .tf-overview-description .tf-full-description,
.single-tf_room .tf-overview-description.karst-room-description {
  display: block !important;
}

/* Room amenities icons (single room) */
.single-tf_room .tf-overview-popular-facilities > ul li {
  gap: 8px;
}

.single-tf_room .tf-overview-popular-facilities > ul li i {
  color: #2f7f7a;
  flex-shrink: 0;
}

/*
 * House rules timeline (::before / ::after).
 * Tourfic source (DevTools): webpack://tourfic/.../sass/app/css/free/global/design-2/_design-2.scss
 * That SCSS is not shipped with the plugin — only compiled CSS exists on disk:
 * wp-content/plugins/tourfic/assets/app/css/tourfic-style.css (~line 22251).
 * Override here in the child theme (do not edit plugin files or rebuild Tourfic webpack).
 */
.single-tf_room .tf-single-template__two .tf-house-rules .tf-house-rules-wrapper .tf-not-included-house-rules li::after,
.single-tf_room .tf-single-template__two .tf-house-rules .tf-house-rules-wrapper .tf-included-house-rules li::after {
  top: 27px;
}

.single-tf_room .tf-single-template__two .tf-details-right .tf-single-booking-box-wrapper .tf-submit-button .tf_btn {
  border-color: var(--tf-primary);
  background-color: var(--tf-primary);
}

.single-tf_room .tf-single-template__two .tf-details-right .tf-single-booking-box-wrapper .tf-select-guests .tf_acrselection-wrap .tf_acrselection .acr-dec svg path, .single-tf_room .tf-single-template__two .tf-details-right .tf-single-booking-box-wrapper .tf-select-guests .tf_acrselection-wrap .tf_acrselection .acr-inc svg path {
  stroke: var(--tf-primary);
}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
  background-color: var(--tf-primary);
  border: none !important;
  color: #fff;  
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  padding: 12px 24px;
  transition: all 0.2s ease;
  box-shadow: 0 8px 20px rgba(20,51,49,.08);
}

.single-tf_tours .karst-adventure-level,
.single-tf_tours .karst-what-to-bring {
  padding: 24px;
}

.tf-single-template__one .tf-section-title,
.tf-single-template__two .tf-section-title,
.tf-archive-template__one .tf-section-title,
.tf-archive-template__two .tf-section-title,
.tf-archive-listing__two .tf-section-title,
.page-template-tf-search__two .tf-section-title {
  color: var(--tf-primary) !important;
}

.single-tf_tours .karst-tour-extra__content > *:first-child {
  margin-top: 0;
}

.single-tf_tours .karst-tour-extra__content > *:last-child {
  margin-bottom: 0;
}

.single-tf_tours .tf-single-template__one .tf-trip-info .person-info {
  width: 100px; height: 100px; padding: 10px;
}
.single-tf_tours .karst-tour-extra__content ul {
  margin: 12px 0 0 18px;
}

.single-tf_tours .karst-tour-pdf-download {
  padding: 24px;
}

.single-tf_tours .karst-tour-pdf-download p {
  margin: 8px 0 14px;
}

.single-tf_tours .karst-tour-pdf-download .tf-btn-wrap {
  display: inline-block;
}

.single-tf_tours #tf-tour-map .tf-map-area {
  position: relative;
}

.single-tf_tours #tf-tour-map .karst-map-pre {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--tf-primary);
  box-shadow: 0 8px 20px rgba(20, 51, 49, 0.15);
  z-index: 3;
}

.single-tf_tours #tf-tour-map .karst-map-pre:hover {
  color: #fff;
  background: var(--tf-primary);
}
@media (max-width: 767px) {
  .karst-lang-switcher {
    top: 12px;
    right: 12px;
  }
}
