/*
 * Reiseziel Kaukasus – design layer
 * ---------------------------------------------------------------------------
 * Sits on top of style-core.css, the colour file from Theme Options and
 * css/traveltour-modern.css. Colours always come from your Theme Options
 * (--tt-* variables); this file changes typography, shapes and layout details.
 *
 *  1. Typography (self-hosted Fraunces + Plus Jakarta Sans)
 *  2. Floating sticky header
 *  3. Top bar & navigation details
 *  4. Page title / hero
 *  5. Section rhythm, titles, content
 *  6. Cards & tour details
 *  7. Footer
 *  8. Mobile
 */

body.rzk-design{
	--rzk-serif: 'RZK Serif', 'Fraunces', Georgia, 'Times New Roman', serif;
	--rzk-sans: 'RZK Sans', 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--rzk-after-title: var(--tt-body-bg);
}

/* ============================== 1. Typography ============================== */
body.rzk-fonts.traveltour-body,
body.rzk-fonts.traveltour-body .gdlr-core-content-font,
body.rzk-fonts.traveltour-body .traveltour-content-font,
body.rzk-fonts.traveltour-body .gdlr-core-info-font,
body.rzk-fonts.traveltour-body .traveltour-info-font,
body.rzk-fonts.traveltour-body .gdlr-core-blog-info-font,
body.rzk-fonts.traveltour-body .traveltour-blog-info-font,
body.rzk-fonts.traveltour-body input,
body.rzk-fonts.traveltour-body textarea,
body.rzk-fonts.traveltour-body select,
body.rzk-fonts.traveltour-body button,
body.rzk-fonts.traveltour-body h3,
body.rzk-fonts.traveltour-body h4,
body.rzk-fonts.traveltour-body h5,
body.rzk-fonts.traveltour-body h6,
body.rzk-fonts.traveltour-body .traveltour-title-font,
body.rzk-fonts.traveltour-body .gdlr-core-title-font,
body.rzk-fonts .traveltour-navigation .sf-menu > li > a,
body.rzk-fonts .traveltour-navigation .sf-vertical > li > a,
body.rzk-fonts .traveltour-navigation-font,
body.rzk-fonts .mm-menu{ font-family: var(--rzk-sans); }

/* display headings in the serif */
body.rzk-fonts.traveltour-body h1,
body.rzk-fonts.traveltour-body h2,
body.rzk-fonts.traveltour-body .traveltour-page-title,
body.rzk-fonts.traveltour-body .traveltour-single-article-title,
body.rzk-fonts.traveltour-body .gdlr-core-title-item-title,
body.rzk-fonts.traveltour-body .tourmaster-single-header-title,
body.rzk-fonts.traveltour-body .tourmaster-single-related-tour-title,
body.rzk-fonts.traveltour-body .traveltour-not-found-head,
body.rzk-fonts.traveltour-body .traveltour-footer-wrapper .traveltour-widget-title,
body.rzk-fonts.traveltour-body .traveltour-sidebar-area .traveltour-widget-title,
body.rzk-fonts.traveltour-body .gdlr-core-call-to-action-item-title,
body.rzk-fonts.traveltour-body .gdlr-core-testimonial-content{
	font-family: var(--rzk-serif); font-optical-sizing: auto; letter-spacing: -.015em; text-transform: none;
}
body.rzk-fonts.traveltour-body h1,
body.rzk-fonts.traveltour-body h2,
body.rzk-fonts.traveltour-body .gdlr-core-title-item-title,
body.rzk-fonts.traveltour-body .traveltour-page-title{ font-weight: 600; }
body.rzk-fonts.traveltour-body .gdlr-core-testimonial-content{ font-style: italic; font-weight: 400; font-size: 1.12em; letter-spacing: 0; }
body.rzk-fonts.traveltour-body .traveltour-sidebar-area .traveltour-widget-title{ font-size: 20px !important; font-weight: 600; letter-spacing: -.01em; }
body.rzk-fonts.traveltour-body .traveltour-footer-wrapper .traveltour-widget-title{ font-weight: 600; letter-spacing: -.01em; }
body.rzk-fonts.traveltour-body{ font-feature-settings: "ss01", "cv11"; }
body.rzk-fonts.traveltour-body p{ line-height: 1.8; }
body.rzk-fonts .traveltour-navigation .sf-menu > li > a{ font-weight: 600; letter-spacing: .03em; }

/* ============================== 2. Floating sticky header ============================== */
@media screen and (min-width: 1000px){
	body.rzk-floating-header .traveltour-fixed-navigation.traveltour-style-fixed,
	body.rzk-floating-header .traveltour-fixed-navigation.traveltour-style-slide{
		top: 12px; left: 20px; right: 20px; max-width: 1320px; margin-left: auto; margin-right: auto;
		background: transparent !important; box-shadow: none !important;
	}
	body.rzk-floating-header .traveltour-fixed-navigation .traveltour-header-background{
		border-radius: 22px; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08) inset;
	}
	body.rzk-floating-header .traveltour-fixed-navigation .traveltour-header-container{ padding-left: 10px; padding-right: 10px; }
	body.rzk-floating-header .traveltour-fixed-navigation .traveltour-navigation-slide-bar{ bottom: 4px !important; }
	body.rzk-floating-header.tt-modern .traveltour-header-wrap.traveltour-fixed-navigation{ box-shadow: none; }
}

/* ============================== 3. Top bar & navigation ============================== */
body.rzk-design .traveltour-top-bar{ font-size: 13.5px !important; }
body.rzk-design .traveltour-top-bar .tourmaster-user-top-bar{ font-weight: 600; }
body.rzk-design .sf-menu > .traveltour-normal-menu .sub-menu{ min-width: 230px; }
body.rzk-design .sf-menu > .traveltour-normal-menu .sub-menu li > a{ font-size: 14px; }

/* ============================== 4. Page title / hero ============================== */
body.rzk-design .traveltour-page-title-wrap .traveltour-page-title{ letter-spacing: -.02em; text-transform: none; line-height: 1.08; }
body.rzk-design .traveltour-page-title-wrap.traveltour-style-small .traveltour-page-title{ font-size: clamp(34px, 4.2vw, 52px); }
body.rzk-design .traveltour-page-title-wrap.traveltour-style-medium .traveltour-page-title{ font-size: clamp(40px, 5.2vw, 68px); }
body.rzk-design .traveltour-page-title-wrap.traveltour-style-large .traveltour-page-title{ font-size: clamp(46px, 6.4vw, 88px); }
body.rzk-design .traveltour-page-title-wrap.traveltour-style-small .traveltour-page-title-content{ padding-top: 110px; padding-bottom: 120px; }
body.rzk-design .traveltour-page-title-wrap .traveltour-page-caption{ font-size: 17px; opacity: .9; letter-spacing: .02em; }
body.rzk-design .traveltour-page-title-wrap .traveltour-page-caption:before{ content: ""; display: inline-block; width: 22px; height: 2px; margin-right: 12px; vertical-align: middle; background: currentColor; opacity: .7; }
/* mountain edge at the bottom of the title, in the colour of the section that follows */
body.rzk-title-ridge .traveltour-page-title-wrap:before,
body.rzk-title-ridge .traveltour-blog-title-wrap:before{
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 54px; z-index: 2; pointer-events: none;
	background-color: var(--rzk-after-title);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%2090'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0%2090V62L60%2050L120%2058L200%2030L250%2042L320%2022L400%2052L470%2040L560%208L610%2026L660%2020L740%2048L810%2030L900%2012L960%2034L1030%2026L1110%2050L1170%2036L1260%2016L1330%2040L1390%2032L1440%2046V90Z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%2090'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0%2090V62L60%2050L120%2058L200%2030L250%2042L320%2022L400%2052L470%2040L560%208L610%2026L660%2020L740%2048L810%2030L900%2012L960%2034L1030%2026L1110%2050L1170%2036L1260%2016L1330%2040L1390%2032L1440%2046V90Z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}

/* ============================== 5. Sections & content ============================== */
body.rzk-design .gdlr-core-title-item .gdlr-core-title-item-title{ line-height: 1.15; }
body.rzk-design .gdlr-core-title-item-caption-bottom{ font-size: 16px; line-height: 1.7; opacity: .85; }
body.rzk-design .traveltour-single-article-content h2,
body.rzk-design .traveltour-single-article-content h3{ margin-top: 1.4em; }
body.rzk-design .traveltour-body blockquote{ font-family: var(--rzk-serif); font-style: italic; font-size: 1.15em; }
body.rzk-design.traveltour-body .traveltour-button,
body.rzk-design .gdlr-core-button,
body.rzk-design .tourmaster-button,
body.rzk-design.traveltour-body input[type="submit"]{ font-weight: 700; letter-spacing: .05em; }

/* ============================== 6. Cards & tours ============================== */
body.rzk-design .tourmaster-tour-item .tourmaster-tour-title{ font-weight: 700; letter-spacing: -.01em; }
body.rzk-design .tourmaster-tour-price-wrap .tourmaster-tour-price .tourmaster-tail,
body.rzk-design .tourmaster-tour-price-wrap .tourmaster-tour-discount-price{ font-weight: 800; }
body.rzk-design .tourmaster-tour-grid .tourmaster-tour-content-wrap{ padding-top: 22px; }
body.rzk-design .tourmaster-single-header-title{ font-size: clamp(34px, 4.4vw, 58px) !important; line-height: 1.08; }
body.rzk-design .gdlr-core-blog-title{ letter-spacing: -.01em; }

/* ============================== 7. Footer ============================== */
body.rzk-design .traveltour-footer-wrapper .traveltour-widget-title{ text-transform: none; }
body.rzk-design .traveltour-copyright-wrapper{ font-size: 13px; }

/* ============================== 8. Mobile ============================== */
@media screen and (max-width: 999px){
	body.rzk-floating-header .traveltour-mobile-header.traveltour-fixed-navigation{
		top: 8px; left: 10px; right: 10px; width: auto; border-radius: 18px; overflow: hidden;
		box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .45);
	}
	body.rzk-title-ridge .traveltour-page-title-wrap:before,
	body.rzk-title-ridge .traveltour-blog-title-wrap:before{ height: 30px; }
}
@media screen and (max-width: 767px){
	body.rzk-design .traveltour-page-title-wrap.traveltour-style-small .traveltour-page-title-content{ padding-top: 70px; padding-bottom: 80px; }
}
