/*
 * Tour Master – Modern styles
 * ---------------------------------------------------------------------------
 * Loaded after tourmaster.css and the generated tourmaster colour file.
 * Active only when the body has the class "tourmaster-modern" (added by
 * tourmaster.php; disable with the 'tourmaster_modern_ui' filter or from the
 * TravelTour theme options).
 *
 * Colours come from the TravelTour --tt-* variables (printed from your Theme
 * Options). The html{} block below only provides defaults for other themes.
 */

html{
	--tt-accent: #468ae7; --tt-accent-2: #468ae7; --tt-accent-contrast: #fff; --tt-body-bg: #fff; --tt-heading: #383838;
	--tt-radius: 14px; --tt-radius-sm: calc(var(--tt-radius) * .6); --tt-radius-lg: calc(var(--tt-radius) * 1.6); --tt-radius-pill: 999px;
	--tt-shadow-sm: 0 2px 8px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .05);
	--tt-shadow: 0 12px 32px -14px rgba(15, 23, 42, .22), 0 4px 10px -6px rgba(15, 23, 42, .10);
	--tt-shadow-lg: 0 30px 60px -22px rgba(15, 23, 42, .32), 0 12px 24px -14px rgba(15, 23, 42, .18);
	--tt-ease: cubic-bezier(.22, 1, .36, 1); --tt-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);
}
body.tourmaster-modern{
	--tm-accent: var(--tt-accent);
	--tm-soft: color-mix(in srgb, var(--tt-accent) 10%, transparent);
	--tm-glow: color-mix(in srgb, var(--tt-accent) 35%, transparent);
	--tm-gradient: linear-gradient(135deg, color-mix(in srgb, var(--tt-accent) 78%, #fff), var(--tt-accent) 50%, var(--tt-accent-2));
	--tm-shadow-accent: 0 14px 30px -10px var(--tm-glow);
	--tm-tint: color-mix(in srgb, currentColor 5%, transparent);
	--tm-tint-2: color-mix(in srgb, currentColor 10%, transparent);
	--tm-line: color-mix(in srgb, var(--tt-heading) 10%, transparent);
}

/* ---------------------------------------------------------------- 1. tour cards (grid / medium / full / modern / category) */
/* shared card look */
body.tourmaster-modern .tourmaster-tour-grid .tourmaster-tour-grid-inner,
body.tourmaster-modern .tourmaster-tour-medium .tourmaster-tour-medium-inner,
body.tourmaster-modern .tourmaster-tour-full .tourmaster-tour-full-inner,
body.tourmaster-modern .tourmaster-room-grid .tourmaster-room-grid-inner{
	border-radius: var(--tt-radius); transition: transform .55s var(--tt-ease), box-shadow .55s var(--tt-ease);
	transform-style: preserve-3d;
}
body.tourmaster-modern .tourmaster-tour-grid .tourmaster-tour-grid-inner:hover,
body.tourmaster-modern .tourmaster-tour-medium .tourmaster-tour-medium-inner:hover,
body.tourmaster-modern .tourmaster-room-grid .tourmaster-room-grid-inner:hover{ transform: translateY(-8px); box-shadow: var(--tt-shadow-lg); }
body.tourmaster-modern .tourmaster-tour-full .tourmaster-tour-full-inner:hover{ box-shadow: var(--tt-shadow-lg); }
body.tourmaster-modern .tourmaster-tour-grid.tourmaster-tour-frame .tourmaster-tour-grid-inner,
body.tourmaster-modern .tourmaster-tour-medium.tourmaster-tour-frame .tourmaster-tour-medium-inner,
body.tourmaster-modern .tourmaster-tour-full.tourmaster-tour-frame .tourmaster-tour-full-inner{ overflow: hidden; }
body.tourmaster-modern .tourmaster-tour-full .tourmaster-tour-full-inner{ overflow: hidden; }
body.tourmaster-modern .tourmaster-tour-full:not(.tourmaster-tour-frame) .tourmaster-tour-full-inner .tourmaster-tour-content-wrap{ padding-left: 26px; padding-right: 26px; }

/* thumbnails */
body.tourmaster-modern .tourmaster-tour-thumbnail,
body.tourmaster-modern .tourmaster-room-thumbnail,
body.tourmaster-modern .tourmaster-tour-category-item .tourmaster-tour-category-thumbnail{ position: relative; overflow: hidden; border-radius: var(--tt-radius); transform: translateZ(0); }
body.tourmaster-modern .tourmaster-tour-frame .tourmaster-tour-thumbnail{ border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
body.tourmaster-modern .tourmaster-tour-thumbnail img,
body.tourmaster-modern .tourmaster-room-thumbnail img,
body.tourmaster-modern .tourmaster-tour-category-thumbnail img{ transition: transform 1.2s var(--tt-ease), filter .6s; }
body.tourmaster-modern .tourmaster-tour-item .tourmaster-item-list:hover .tourmaster-tour-thumbnail img,
body.tourmaster-modern .tourmaster-room-item .tourmaster-item-list:hover .tourmaster-room-thumbnail img,
body.tourmaster-modern .tourmaster-tour-category-item .tourmaster-item-list:hover .tourmaster-tour-category-thumbnail img{ transform: scale(1.08); }
/* gradient sheen on thumbnail hover */
body.tourmaster-modern .tourmaster-tour-thumbnail:after,
body.tourmaster-modern .tourmaster-room-thumbnail:after{
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .6s var(--tt-ease);
	background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .35) 100%);
}
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-thumbnail:after,
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-room-thumbnail:after{ opacity: 1; }
/* ribbon / badges / price */

body.tourmaster-modern .tourmaster-tour-price-wrap .tourmaster-tour-price,
body.tourmaster-modern .tourmaster-tour-price-wrap .tourmaster-tour-discount-price{ transition: transform .4s var(--tt-ease-bounce); display: inline-block; }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-price-wrap .tourmaster-tour-discount-price,
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-price-wrap.tourmaster-without-discount .tourmaster-tour-price{ transform: scale(1.06); }
body.tourmaster-modern .tourmaster-tour-title a{ transition: color .3s; }
body.tourmaster-modern .tourmaster-tour-view-more,
body.tourmaster-modern .tourmaster-tour-medium .tourmaster-tour-view-more{ border-radius: var(--tt-radius-pill); transition: transform .35s var(--tt-ease), box-shadow .35s; }
body.tourmaster-modern .tourmaster-tour-view-more:hover{ transform: translateY(-2px); box-shadow: var(--tt-shadow-accent); }
body.tourmaster-modern .tourmaster-tour-info i{ transition: transform .4s var(--tt-ease-bounce); }
body.tourmaster-modern .tourmaster-tour-info:hover i{ transform: scale(1.2); }
body.tourmaster-modern .tourmaster-tour-rating i{ transition: transform .3s var(--tt-ease-bounce); }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-rating i{ animation: ttStarPop .6s var(--tt-ease) both; }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-rating i:nth-child(2){ animation-delay: .05s; }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-rating i:nth-child(3){ animation-delay: .10s; }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-rating i:nth-child(4){ animation-delay: .15s; }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-rating i:nth-child(5){ animation-delay: .20s; }

/* modern / category styles (image cards) */
body.tourmaster-modern .tourmaster-tour-modern .tourmaster-tour-modern-inner,
body.tourmaster-modern .tourmaster-tour-category-grid .tourmaster-tour-category-item-wrap,
body.tourmaster-modern .tourmaster-tour-category-widget .tourmaster-tour-category-item{ border-radius: var(--tt-radius); overflow: hidden; transform: translateZ(0);
	transition: transform .55s var(--tt-ease), box-shadow .55s var(--tt-ease); }
body.tourmaster-modern .tourmaster-tour-modern .tourmaster-tour-modern-inner:hover,
body.tourmaster-modern .tourmaster-tour-category-grid .tourmaster-tour-category-item-wrap:hover{ transform: translateY(-6px); box-shadow: var(--tt-shadow-lg); }
body.tourmaster-modern .tourmaster-tour-modern .tourmaster-tour-content-wrap,
body.tourmaster-modern .tourmaster-tour-category-grid .tourmaster-tour-category-head{ transition: transform .6s var(--tt-ease); }
body.tourmaster-modern .tourmaster-tour-modern-inner:hover .tourmaster-tour-content-wrap,
body.tourmaster-modern .tourmaster-tour-category-item-wrap:hover .tourmaster-tour-category-head{ transform: translateY(-8px); }
body.tourmaster-modern .tourmaster-tour-category-overlay{ transition: opacity .6s var(--tt-ease); }

/* search form */
body.tourmaster-modern .tourmaster-tour-search-wrap,
body.tourmaster-modern .tourmaster-tour-search-item .tourmaster-tour-search-wrap,
body.tourmaster-modern .tourmaster-room-search-item .tourmaster-room-search-form{ border-radius: var(--tt-radius-lg); }
body.tourmaster-modern .tourmaster-tour-search-item.tourmaster-style-column .tourmaster-tour-search-wrap,
body.tourmaster-modern .tourmaster-tour-search-item.tourmaster-style-full .tourmaster-tour-search-wrap,
body.tourmaster-modern .tourmaster-tour-search-item.tourmaster-style-half .tourmaster-tour-search-wrap{ box-shadow: var(--tt-shadow); }
body.tourmaster-modern .tourmaster-tour-search-wrap input,
body.tourmaster-modern .tourmaster-tour-search-wrap select,
body.tourmaster-modern .tourmaster-tour-search-field .tourmaster-combobox-wrap select{ border-radius: var(--tt-radius-sm) !important; transition: box-shadow .3s var(--tt-ease), border-color .3s; }
body.tourmaster-modern .tourmaster-tour-search-wrap input:focus,
body.tourmaster-modern .tourmaster-tour-search-wrap select:focus{ box-shadow: 0 0 0 4px var(--tt-accent-soft); outline: none; }
body.tourmaster-modern .tourmaster-tour-search-submit,
body.tourmaster-modern .tourmaster-tour-search-wrap input.tourmaster-tour-search-submit{ border-radius: var(--tt-radius-sm) !important; transition: transform .35s var(--tt-ease), box-shadow .35s !important; }
body.tourmaster-modern .tourmaster-tour-search-submit:hover{ transform: translateY(-2px); box-shadow: var(--tt-shadow-accent); }
body.tourmaster-modern .tourmaster-tour-search-field label{ letter-spacing: .04em; }
body.tourmaster-modern .tourmaster-tour-search-field-inner{ transition: transform .3s var(--tt-ease); }

/* single tour / booking */
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap,
body.tourmaster-modern .tourmaster-tour-booking-bar-outer{ border-radius: var(--tt-radius-lg); }
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap{ box-shadow: var(--tt-shadow-lg); overflow: hidden; }
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit input,
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap input[type="submit"],
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap .tourmaster-button{ border-radius: var(--tt-radius-pill) !important; }
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-next-sign span{ transition: transform .4s var(--tt-ease); }
body.tourmaster-modern .tourmaster-single-header-title-wrap,
body.tourmaster-modern .tourmaster-single-header{ overflow: hidden; }
body.tourmaster-modern .tourmaster-single-header-title{ animation: ttFadeUp 1s var(--tt-ease) .15s both; }
body.tourmaster-modern .tourmaster-single-header-gallery-wrap .tourmaster-single-header-gallery-button{ border-radius: var(--tt-radius-pill); transition: transform .3s var(--tt-ease), box-shadow .3s; }
body.tourmaster-modern .tourmaster-single-header-gallery-button:hover{ transform: translateY(-2px); box-shadow: var(--tt-shadow); }
body.tourmaster-modern .tourmaster-single-review-content,
body.tourmaster-modern .tourmaster-tour-review-item .tourmaster-tour-review-content-item{ border-radius: var(--tt-radius); }
body.tourmaster-modern .tourmaster-lightbox-wrapper .tourmaster-lightbox-content-wrap{ border-radius: var(--tt-radius-lg); overflow: hidden; animation: ttZoomIn .45s var(--tt-ease) both; box-shadow: var(--tt-shadow-lg); }
body.tourmaster-modern .tourmaster-user-top-bar{ transition: opacity .3s; }
body.tourmaster-modern .tourmaster-user-top-bar i{ transition: transform .35s var(--tt-ease-bounce); display: inline-block; }
body.tourmaster-modern .tourmaster-user-top-bar:hover i{ transform: translateY(-2px) scale(1.12); }
body.tourmaster-modern .tourmaster-tour-order-filterer-wrap .tourmaster-tour-order-filterer-style a{ transition: transform .3s var(--tt-ease), color .3s; display: inline-block; }
body.tourmaster-modern .tourmaster-tour-order-filterer-wrap .tourmaster-tour-order-filterer-style a:hover{ transform: scale(1.15); }
body.tourmaster-modern .tourmaster-user-content-block,
body.tourmaster-modern .tourmaster-user-navigation{ border-radius: var(--tt-radius); }


/* ---------------------------------------------------------------- 2. card details */
/* framed cards: borderless with a soft shadow */
body.tourmaster-modern .tourmaster-tour-frame .tourmaster-tour-grid-inner,
body.tourmaster-modern .tourmaster-tour-frame .tourmaster-tour-medium-inner,
body.tourmaster-modern .tourmaster-tour-frame .tourmaster-tour-full-inner{ border: 0 !important; box-shadow: var(--tt-shadow-sm); background-color: var(--tt-body-bg); }
body.tourmaster-modern .tourmaster-tour-frame .tourmaster-tour-grid-inner:hover,
body.tourmaster-modern .tourmaster-tour-frame .tourmaster-tour-medium-inner:hover{ box-shadow: var(--tt-shadow-lg); }
/* info rows (duration, availability…) with tinted icon chips */
body.tourmaster-modern .tourmaster-tour-item .tourmaster-tour-info{ display: flex; align-items: center; gap: 8px; }
body.tourmaster-modern .tourmaster-tour-item .tourmaster-tour-info i{ display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 24px; height: 24px; margin: 0 !important; border-radius: 50%; font-size: 12px; background: var(--tm-soft); }
body.tourmaster-modern .tourmaster-tour-item .tourmaster-tour-info-wrap{ display: flex; flex-direction: column; gap: 6px; }
/* title */
body.tourmaster-modern .tourmaster-tour-item .tourmaster-tour-title{ letter-spacing: -.005em; line-height: 1.35; }
body.tourmaster-modern .tourmaster-tour-item .tourmaster-tour-title a{ background-image: linear-gradient(currentColor, currentColor); background-size: 0% 2px; background-repeat: no-repeat;
	background-position: 0 100%; transition: background-size .5s var(--tt-ease), color .3s; }
body.tourmaster-modern .tourmaster-item-list:hover .tourmaster-tour-title a{ background-size: 100% 2px; }
/* price block */
body.tourmaster-modern .tourmaster-tour-price-wrap .tourmaster-tour-price .tourmaster-tail,
body.tourmaster-modern .tourmaster-tour-price-wrap .tourmaster-tour-discount-price{ letter-spacing: -.02em; }
body.tourmaster-modern .tourmaster-tour-price-wrap .tourmaster-head{ text-transform: uppercase; letter-spacing: .12em; font-size: 10px; opacity: .75; }
/* discount ribbon becomes a pill */
body.tourmaster-modern .tourmaster-thumbnail-ribbon{ border-radius: var(--tt-radius-pill) !important; box-shadow: 0 8px 18px -6px rgba(0, 0, 0, .35); letter-spacing: .04em; }
body.tourmaster-modern .tourmaster-tour-thumbnail .tourmaster-thumbnail-ribbon{ top: 16px; left: 16px; }
body.tourmaster-modern .tourmaster-thumbnail-ribbon .tourmaster-thumbnail-ribbon-cornor{ display: none !important; }
/* read more fade on medium list */
body.tourmaster-modern .tourmaster-tour-medium .tourmaster-tour-view-more{ background-image: var(--tm-gradient); }
/* rating */
body.tourmaster-modern .tourmaster-tour-rating-text{ opacity: .7; }

/* ---------------------------------------------------------------- 3. search form */
body.tourmaster-modern .tourmaster-tour-search-item .tourmaster-tour-search-wrap{ position: relative; }
body.tourmaster-modern .tourmaster-tour-search-item-head{ border-radius: var(--tt-radius-lg) var(--tt-radius-lg) 0 0; }
body.tourmaster-modern .tourmaster-tour-search-field label{ text-transform: uppercase; letter-spacing: .1em; font-size: 11px !important; font-weight: 700; margin-bottom: 8px; }
body.tourmaster-modern .tourmaster-tour-search-field input[type="text"],
body.tourmaster-modern .tourmaster-tour-search-field .tourmaster-combobox-wrap select,
body.tourmaster-modern .tourmaster-tour-search-field .tourmaster-datepicker-wrap input{ border-radius: var(--tt-radius-sm) !important; min-height: 52px; transition: box-shadow .3s var(--tt-ease), border-color .3s, background-color .3s !important; }
body.tourmaster-modern .tourmaster-tour-search-field input:focus,
body.tourmaster-modern .tourmaster-tour-search-field select:focus{ outline: none; box-shadow: 0 0 0 4px var(--tm-soft), 0 0 0 1px var(--tt-accent) inset !important; }
body.tourmaster-modern .tourmaster-tour-search-field .tourmaster-combobox-wrap:after,
body.tourmaster-modern .tourmaster-tour-search-field-inner i{ transition: transform .35s var(--tt-ease), color .3s; }
body.tourmaster-modern .tourmaster-tour-search-field:focus-within .tourmaster-combobox-wrap:after{ transform: rotate(180deg); }
body.tourmaster-modern .tourmaster-tour-search-submit,
body.tourmaster-modern input.tourmaster-tour-search-submit{ min-height: 52px; border-radius: var(--tt-radius-sm) !important; background-image: var(--tm-gradient) !important;
	letter-spacing: .06em; font-weight: 600; box-shadow: var(--tm-shadow-accent); }
body.tourmaster-modern .tourmaster-tour-search-submit:hover{ filter: brightness(1.06) saturate(1.1); }
/* sidebar / column search box */
body.tourmaster-modern .tourmaster-tour-search-item.tourmaster-style-column .tourmaster-tour-search-wrap,
body.tourmaster-modern .tourmaster-tour-search-item.tourmaster-style-half .tourmaster-tour-search-wrap{ border-radius: var(--tt-radius-lg); overflow: hidden; box-shadow: var(--tt-shadow-lg); }
body.tourmaster-modern .tourmaster-tour-search-item-style-2 .tourmaster-tour-search-wrap{ border-radius: var(--tt-radius-lg); box-shadow: var(--tt-shadow); }
/* filter / sort bar */
body.tourmaster-modern .tourmaster-tour-order-filterer-wrap{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 18px !important; border-radius: var(--tt-radius) !important;
	box-shadow: var(--tt-shadow-sm); background: var(--tt-body-bg); border: 0 !important; }
body.tourmaster-modern .tourmaster-tour-order-filterer-wrap select,
body.tourmaster-modern .tourmaster-tour-order-filterer-wrap .tourmaster-combobox-wrap select{ border-radius: var(--tt-radius-pill) !important; padding-left: 16px !important; }
body.tourmaster-modern .tourmaster-tour-order-filterer-style{ margin-left: auto; }
body.tourmaster-modern .tourmaster-tour-order-filterer-style a{ width: 34px; height: 34px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 10px; }
body.tourmaster-modern .tourmaster-tour-order-filterer-style a.tourmaster-active{ background: var(--tm-soft); color: var(--tt-accent) !important; }
/* pagination */
body.tourmaster-modern .tourmaster-pagination a,
body.tourmaster-modern .tourmaster-pagination span{ border-radius: 12px !important; min-width: 40px; text-align: center; transition: transform .35s var(--tt-ease-bounce), background-color .3s, color .3s, box-shadow .3s; }
body.tourmaster-modern .tourmaster-pagination a:hover{ transform: translateY(-3px); box-shadow: var(--tm-shadow-accent); }
body.tourmaster-modern .tourmaster-pagination span.current,
body.tourmaster-modern .tourmaster-pagination .current{ background-image: var(--tm-gradient) !important; color: #fff !important; box-shadow: var(--tm-shadow-accent); }

/* ---------------------------------------------------------------- 4. single tour: header & info bar */
body.tourmaster-modern .tourmaster-single-header-title{ text-shadow: 0 8px 30px rgba(0, 0, 0, .35); letter-spacing: -.01em; }
body.tourmaster-modern .tourmaster-single-header-title-wrap .tourmaster-tour-rating{ animation: ttFadeUp 1s var(--tt-ease) .3s both; }
body.tourmaster-modern .tourmaster-single-header-top-overlay{ background: linear-gradient(to bottom, rgba(0, 0, 0, .45), transparent) !important; }
body.tourmaster-modern .tourmaster-single-header-overlay{ background: linear-gradient(to top, rgba(0, 0, 0, .55), transparent 60%) !important; opacity: 1 !important; }
body.tourmaster-modern .tourmaster-tour-info-outer .tourmaster-tour-info-outer-container{ position: relative; }
body.tourmaster-modern .tourmaster-tour-info-outer .tourmaster-tour-info{ display: flex; align-items: center; gap: 12px; font-weight: 500; }
body.tourmaster-modern .tourmaster-tour-info-outer .tourmaster-tour-info i{ display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px;
	margin: 0 !important; border-radius: 12px; font-size: 15px; background: var(--tm-soft); color: var(--tt-accent); transition: transform .4s var(--tt-ease-bounce); }
body.tourmaster-modern .tourmaster-tour-info-outer .tourmaster-tour-info:hover i{ transform: translateY(-2px) rotate(-6deg); }
/* in-page navigation (Detail / Itinerary / Map / Photos / Reviews) */
body.tourmaster-modern .tourmaster-content-navigation-item-outer{ -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px); }
body.tourmaster-modern .tourmaster-content-navigation-item-outer .tourmaster-content-navigation-tab{ position: relative; border-radius: var(--tt-radius-pill); transition: color .3s, background-color .3s; }
body.tourmaster-modern .tourmaster-content-navigation-item-outer .tourmaster-content-navigation-tab:hover{ background: var(--tm-soft); }
body.tourmaster-modern .tourmaster-content-navigation-slider{ border-radius: 3px; height: 3px !important; background-image: var(--tm-gradient); }
/* content */
body.tourmaster-modern .tourmaster-single-tour-content-wrap .gdlr-core-title-item-title{ letter-spacing: -.01em; }
body.tourmaster-modern .tourmaster-single-tour-read-more-gradient{ background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--tt-body-bg)) !important; }
body.tourmaster-modern .tourmaster-mobile-read-more,
body.tourmaster-modern .tourmaster-single-tour-read-more-wrap .tourmaster-button{ border-radius: var(--tt-radius-pill) !important; }

/* ---------------------------------------------------------------- 5. booking bar */
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap{ border-radius: var(--tt-radius-lg) !important; border: 0 !important; overflow: hidden; box-shadow: var(--tt-shadow-lg) !important; }
body.tourmaster-modern .tourmaster-tour-booking-bar-outer{ border-radius: var(--tt-radius-lg); }
body.tourmaster-modern .tourmaster-header-price{ overflow: hidden; background-image: var(--tm-gradient) !important; }
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap .tourmaster-header-price{ position: relative; }
body.tourmaster-modern .tourmaster-header-price:after{ content: ""; position: absolute; width: 240px; height: 240px; right: -80px; top: -150px; border-radius: 50%; background: rgba(255, 255, 255, .1); pointer-events: none; }
body.tourmaster-modern .tourmaster-header-price-ribbon{ letter-spacing: .14em; text-transform: uppercase; }
body.tourmaster-modern .tourmaster-header-price .tourmaster-tour-price,
body.tourmaster-modern .tourmaster-header-price .tourmaster-tour-discount-price{ letter-spacing: -.02em; }
body.tourmaster-modern .tourmaster-header-price-overlay{ display: none; }
/* Booking form / Enquiry form switch -> segmented control */
body.tourmaster-modern .tourmaster-booking-tab-title{ display: flex; gap: 4px; margin: 18px 22px 0 !important; padding: 4px; border-radius: var(--tt-radius-pill); background: var(--tm-tint); border: 0 !important; }
body.tourmaster-modern .tourmaster-booking-tab-title-item{ flex: 1; text-align: center; margin: 0 !important; padding: 10px 12px !important; border-radius: var(--tt-radius-pill); border: 0 !important;
	cursor: pointer; transition: background-color .3s, color .3s, box-shadow .3s; }
body.tourmaster-modern .tourmaster-booking-tab-title-item.tourmaster-active{ background: var(--tt-body-bg) !important; color: var(--tt-accent) !important; box-shadow: var(--tt-shadow-sm); }
body.tourmaster-modern .tourmaster-booking-tab-title-item:after{ display: none !important; }
/* fields */
body.tourmaster-modern .tourmaster-tour-booking-date,
body.tourmaster-modern .tourmaster-tour-booking-people,
body.tourmaster-modern .tourmaster-tour-booking-package,
body.tourmaster-modern .tourmaster-tour-booking-room{ position: relative; }
body.tourmaster-modern .tourmaster-tour-booking-date > i,
body.tourmaster-modern .tourmaster-tour-booking-people > i,
body.tourmaster-modern .tourmaster-tour-booking-room > i,
body.tourmaster-modern .tourmaster-tour-booking-submit > i,
body.tourmaster-modern .tourmaster-tour-booking-package > i{ display: inline-flex !important; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px;
	background: var(--tm-soft); font-size: 14px !important; }
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap input[type="text"],
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap select,
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap textarea,
body.tourmaster-modern .tourmaster-tour-booking-date-display{ border-radius: var(--tt-radius-sm) !important; transition: box-shadow .3s var(--tt-ease), border-color .3s; }
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap input:focus,
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap select:focus,
body.tourmaster-modern .tourmaster-tour-booking-bar-wrap textarea:focus{ outline: none; box-shadow: 0 0 0 4px var(--tm-soft); border-color: var(--tt-accent) !important; }
body.tourmaster-modern .tourmaster-tour-booking-submit input[type="submit"],
body.tourmaster-modern .tourmaster-tour-booking-submit .tourmaster-button,
body.tourmaster-modern .tourmaster-tour-booking-continue,
body.tourmaster-modern .tourmaster-tour-booking-enquiry-wrap .tourmaster-button,
body.tourmaster-modern .tourmaster-enquiry-form .tourmaster-button{ border-radius: var(--tt-radius-pill) !important; background-image: var(--tm-gradient) !important; box-shadow: var(--tm-shadow-accent);
	letter-spacing: .06em; transition: transform .35s var(--tt-ease), box-shadow .35s, filter .3s !important; }
body.tourmaster-modern .tourmaster-tour-booking-submit input[type="submit"]:hover,
body.tourmaster-modern .tourmaster-tour-booking-continue:hover{ transform: translateY(-2px); filter: brightness(1.05); }
body.tourmaster-modern .tourmaster-tour-booking-next-sign span{ border-radius: 50%; }
body.tourmaster-modern .tourmaster-tour-booking-bar-summary,
body.tourmaster-modern .tourmaster-tour-booking-bar-total-price-wrap,
body.tourmaster-modern .tourmaster-tour-booking-bar-coupon-wrap,
body.tourmaster-modern .tourmaster-tour-booking-bar-deposit-option{ border-radius: var(--tt-radius); }
body.tourmaster-modern .tourmaster-tour-booking-bar-total-price-wrap{ background: var(--tm-soft) !important; }
/* urgency message: pill with a live dot */
body.tourmaster-modern .tourmaster-urgency-message{ border-radius: var(--tt-radius-pill) !important; box-shadow: var(--tt-shadow); padding-left: 44px !important; }
body.tourmaster-modern .tourmaster-urgency-message .tourmaster-urgency-message-icon{ position: relative; }
body.tourmaster-modern .tourmaster-urgency-message:before{ content: ""; position: absolute; left: 18px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%;
	background: #2bd47d; box-shadow: 0 0 0 0 rgba(43, 212, 125, .6); animation: tmLive 1.8s infinite; }
/* wish list / view count row */
body.tourmaster-modern .tourmaster-booking-bottom{ display: flex; align-items: stretch; }
body.tourmaster-modern .tourmaster-save-wish-list{ transition: color .3s, background-color .3s; }
body.tourmaster-modern .tourmaster-save-wish-list:hover{ background: var(--tm-soft); }
body.tourmaster-modern .tourmaster-save-wish-list-icon-wrap i{ transition: transform .4s var(--tt-ease-bounce); }
body.tourmaster-modern .tourmaster-save-wish-list:hover .tourmaster-save-wish-list-icon-wrap i{ transform: scale(1.25); }
/* sidebar widgets next to the booking bar */
body.tourmaster-modern .tourmaster-tour-booking-bar-widget .widget,
body.tourmaster-modern .tourmaster-single-tour-booking-fields{ border-radius: var(--tt-radius-lg); }
body.tourmaster-modern .gdlr-core-widget-box-shortcode{ border-radius: var(--tt-radius-lg) !important; overflow: hidden; box-shadow: var(--tt-shadow); }
body.tourmaster-modern .gdlr-core-widget-list-shortcode{ border-radius: var(--tt-radius-lg) !important; overflow: hidden; }
/* mobile "book now" bar */
body.tourmaster-modern .tourmaster-mobile-booknow-bar{ border-radius: var(--tt-radius-lg) var(--tt-radius-lg) 0 0; box-shadow: 0 -10px 30px -10px rgba(0, 0, 0, .3); }

/* ---------------------------------------------------------------- 6. reviews */
body.tourmaster-modern .tourmaster-single-review-head{ border-radius: var(--tt-radius-lg); box-shadow: var(--tt-shadow-sm); border: 0 !important; }
body.tourmaster-modern .tourmaster-single-review-content-item{ border-radius: var(--tt-radius); padding: 24px !important; margin-bottom: 14px; box-shadow: inset 0 0 0 1px var(--tm-line);
	border: 0 !important; transition: box-shadow .4s var(--tt-ease), transform .4s var(--tt-ease); }
body.tourmaster-modern .tourmaster-single-review-content-item:hover{ box-shadow: inset 0 0 0 1px var(--tm-line), var(--tt-shadow); transform: translateY(-2px); }
body.tourmaster-modern .tourmaster-single-review-user img{ border-radius: 50%; }
body.tourmaster-modern .tourmaster-single-review-sort-by a,
body.tourmaster-modern .tourmaster-single-review-filter-by a{ border-radius: var(--tt-radius-pill); transition: background-color .3s, color .3s; }
body.tourmaster-modern .tourmaster-review-form{ border-radius: var(--tt-radius-lg); }
body.tourmaster-modern .tourmaster-review-form-rating i{ transition: transform .3s var(--tt-ease-bounce); cursor: pointer; }
body.tourmaster-modern .tourmaster-review-form-rating i:hover{ transform: scale(1.3); }

/* ---------------------------------------------------------------- 7. related tours */
body.tourmaster-modern .tourmaster-single-related-tour-title{ letter-spacing: -.01em; }

/* ---------------------------------------------------------------- 8. login / register lightbox */
body.tourmaster-modern .tourmaster-lightbox-wrapper{ -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.tourmaster-modern .tourmaster-lightbox-head{ border: 0 !important; }
body.tourmaster-modern .tourmaster-lightbox-close{ width: 36px; height: 36px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50%;
	background: var(--tm-tint); transition: transform .45s var(--tt-ease), background-color .3s; }
body.tourmaster-modern .tourmaster-lightbox-close:hover{ transform: rotate(90deg); background: var(--tm-tint-2); }
body.tourmaster-modern .tourmaster-form-field input[type="text"],
body.tourmaster-modern .tourmaster-form-field input[type="email"],
body.tourmaster-modern .tourmaster-form-field input[type="password"],
body.tourmaster-modern .tourmaster-form-field textarea,
body.tourmaster-modern .tourmaster-form-field select{ border-radius: var(--tt-radius-sm) !important; transition: box-shadow .3s var(--tt-ease), border-color .3s; }
body.tourmaster-modern .tourmaster-form-field input:focus,
body.tourmaster-modern .tourmaster-form-field textarea:focus,
body.tourmaster-modern .tourmaster-form-field select:focus{ outline: none; box-shadow: 0 0 0 4px var(--tm-soft); border-color: var(--tt-accent) !important; }
body.tourmaster-modern .tourmaster-login-form .tourmaster-button,
body.tourmaster-modern .tourmaster-register-form .tourmaster-button,
body.tourmaster-modern .tourmaster-login-submit input,
body.tourmaster-modern .tourmaster-register-submit input{ border-radius: var(--tt-radius-pill) !important; background-image: var(--tm-gradient) !important; box-shadow: var(--tm-shadow-accent); }
body.tourmaster-modern .tourmaster-login-form2-wrap,
body.tourmaster-modern .tourmaster-login2-right{ border-radius: var(--tt-radius-lg); overflow: hidden; }
body.tourmaster-modern .tourmaster-notification-box{ border-radius: var(--tt-radius); }

/* ---------------------------------------------------------------- 9. account dashboard */
body.tourmaster-modern .tourmaster-user-navigation{ border-radius: var(--tt-radius-lg); overflow: hidden; box-shadow: var(--tt-shadow-sm); }
body.tourmaster-modern .tourmaster-user-navigation-item a{ border-radius: 10px; transition: background-color .3s, color .3s, padding-left .35s var(--tt-ease); }
body.tourmaster-modern .tourmaster-user-navigation-item a:hover{ background: var(--tm-soft); padding-left: 6px; }
body.tourmaster-modern .tourmaster-user-navigation-item.tourmaster-active a{ background: var(--tm-soft); color: var(--tt-accent) !important; }
body.tourmaster-modern .tourmaster-user-navigation-item-icon{ transition: transform .35s var(--tt-ease-bounce); }
body.tourmaster-modern .tourmaster-user-navigation-item a:hover .tourmaster-user-navigation-item-icon{ transform: scale(1.15); }
body.tourmaster-modern .tourmaster-user-content-block{ border-radius: var(--tt-radius-lg) !important; box-shadow: var(--tt-shadow-sm); border: 0 !important; overflow: hidden; }
body.tourmaster-modern .tourmaster-user-content-title-wrap{ border: 0 !important; }
body.tourmaster-modern .tourmaster-user-content-inner table{ border-collapse: separate; border-spacing: 0; border-radius: var(--tt-radius); overflow: hidden; }
body.tourmaster-modern .tourmaster-user-content-inner table tr{ transition: background-color .25s; }
body.tourmaster-modern .tourmaster-user-content-inner table tr:hover td{ background-color: var(--tm-soft); }
body.tourmaster-modern .tourmaster-user-top-bar-nav{ border-radius: var(--tt-radius); overflow: hidden; box-shadow: var(--tt-shadow-lg); }

/* ---------------------------------------------------------------- 10. payment steps */
body.tourmaster-modern .tourmaster-payment-step-item-icon{ border-radius: 50% !important; transition: transform .4s var(--tt-ease-bounce), box-shadow .3s; }
body.tourmaster-modern .tourmaster-payment-step-item.tourmaster-current .tourmaster-payment-step-item-icon,
body.tourmaster-modern .tourmaster-payment-step-item.tourmaster-checked .tourmaster-payment-step-item-icon,
body.tourmaster-modern .tourmaster-payment-step-item.tourmaster-enable .tourmaster-payment-step-item-icon{ background-image: var(--tm-gradient) !important; box-shadow: var(--tm-shadow-accent); }
body.tourmaster-modern .tourmaster-payment-step-item.tourmaster-current .tourmaster-payment-step-item-icon{ transform: scale(1.1); }
body.tourmaster-modern .tourmaster-tour-booking-side-payment-wrap,
body.tourmaster-modern .tourmaster-payment-traveller-info-wrap,
body.tourmaster-modern .tourmaster-payment-contact-wrap,
body.tourmaster-modern .tourmaster-payment-billing-wrap{ border-radius: var(--tt-radius-lg); }
body.tourmaster-modern .tourmaster-payment-method-wrap .tourmaster-payment-gateway{ border-radius: var(--tt-radius); }

/* ---------------------------------------------------------------- 11. date picker */
body.tourmaster-modern .ui-datepicker,
body.tourmaster-modern .tourmaster-datepicker-wrap .ui-datepicker{ border-radius: var(--tt-radius) !important; border: 0 !important; box-shadow: var(--tt-shadow-lg) !important; overflow: hidden; padding: 10px !important; }
body.tourmaster-modern .ui-datepicker .ui-datepicker-header{ border-radius: var(--tt-radius-sm); }
body.tourmaster-modern .ui-datepicker td a,
body.tourmaster-modern .ui-datepicker td span{ border-radius: 50% !important; text-align: center; transition: background-color .25s, color .25s, transform .25s var(--tt-ease-bounce); }
body.tourmaster-modern .ui-datepicker td a:hover{ transform: scale(1.12); }
body.tourmaster-modern .ui-datepicker td.ui-datepicker-current-day a,
body.tourmaster-modern .ui-datepicker td a.ui-state-active{ background-image: var(--tm-gradient) !important; color: #fff !important; box-shadow: var(--tm-shadow-accent); }

/* ---------------------------------------------------------------- 12. widgets */
body.tourmaster-modern .tourmaster-tour-widget .tourmaster-item-list{ transition: transform .35s var(--tt-ease); }
body.tourmaster-modern .tourmaster-tour-widget .tourmaster-item-list:hover{ transform: translateX(4px); }
body.tourmaster-modern .tourmaster-tour-widget .tourmaster-tour-thumbnail,
body.tourmaster-modern .tourmaster-tour-category-widget .tourmaster-tour-category-thumbnail{ border-radius: 12px; overflow: hidden; }

@keyframes tmLive{ 0%{ box-shadow: 0 0 0 0 rgba(43, 212, 125, .55); } 70%{ box-shadow: 0 0 0 10px rgba(43, 212, 125, 0); } 100%{ box-shadow: 0 0 0 0 rgba(43, 212, 125, 0); } }
@keyframes ttFadeUp{ from{ opacity: 0; transform: translate3d(0, 30px, 0); } to{ opacity: 1; transform: none; } }
@keyframes ttFadeRight{ from{ opacity: 0; transform: translate3d(-24px, 0, 0); } to{ opacity: 1; transform: none; } }
@keyframes ttZoomIn{ from{ opacity: 0; transform: scale(.94); } to{ opacity: 1; transform: none; } }
@keyframes ttStarPop{ 0%{ transform: scale(1); } 40%{ transform: scale(1.35) rotate(12deg); } 100%{ transform: scale(1); } }

@media (hover: none){
	body.tourmaster-modern .tourmaster-tour-grid .tourmaster-tour-grid-inner:hover,
	body.tourmaster-modern .tourmaster-tour-medium .tourmaster-tour-medium-inner:hover{ transform: none; }
}
@media (prefers-reduced-motion: reduce){
	body.tourmaster-modern *, body.tourmaster-modern *:before{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
