/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
:root {
    --gold: #b8924a;
}

.bg-sand {
    background-color: #edecd8;
}
.bg-stone {
    background-color: #edecd8;
}
body {
    background: #faf9e4 !important;
}


.elementor-kit-6 a {
    color: #faf9e4;
}
.elementor-kit-6 a:hover {
    color: #edecd8;
}
.middle-width .e-con-inner {
    max-width: 1100px;
}
.full-width {
    max-width: 1920px !important;
	padding-left: 30px;
	padding-right: 30px;
}
.language {
    display: none;
}
html[lang="en-GB"] .language.en {
    display: block;
}
html[lang="de-DE"] .language.de{
    display: block;
}
html[lang="cs-CZ"] .language.cz{
    display: block;
}
body {
    overflow-x: hidden;
}

h1 {
    font-size: 50px;
	line-height: 65px !important;
	font-weight: 400;
}
h2 {
    font-size: 50px;
	line-height: 65px !important;
	font-weight: 400;
}
h3 {
	font-weight: 400;
}
h4 {
	font-weight: 400;
}
h5 {
	font-weight: 400;
}

.elementor-widget-button .elementor-button {
    color: #696859;
    background: #edecd8;
}

h1, h2, h3, h4, h5, h6 {
    color: #696859;
}
.single-post.elementor-kit-6 h1 {
    color: #696859;
}
.elementor-kit-6 h5 {
    color: #696859;
}
.elementor-kit-6 h2 {
    color: #696859;
}
.elementor-kit-6 h3 {
    color: #696859;
}
.section-title h2 {
    font-size: 110px;
	line-height: 110px !important;
}
.absolute.right {
    position: relative;
    right: -125px;
    z-index: 99;
    text-shadow: 10px 10px 20px rgb(0 0 0 / 50%);
	width: calc(100% + 125px);
    max-width: unset !important;
}
.absolute.top {
    position: relative;
    margin-top: -65px;
	z-index: 9;
}
.uppercase {
	text-transform: uppercase;
}
.elementor-kit-6 {
    --e-global-color-primary: #696859;
    --e-global-color-secondary: #696859;
    --e-global-color-text: #696859;
    --e-global-color-accent: #FFFFFF;
	color: #696859;
}
/*.black,
.black h1,
.black h2,
.black h3,
.black h4,
.black h5 {
	color: #d1cfba !important;
}*/
.opacity-color h2 {
	color: #d1cfba;
}
    

.elementor-widget-button .elementor-button {
    font-size: 16px;
    padding: 17px 30px;
	color: #1F1F1E;
    background: #faf9e4;
	text-transform: uppercase;
	border-radius: 0;
	/*font-family: "Inter";*/
}
.elementor-widget-button .elementor-button:hover {
	color: #1F1F1E;
    background: #edecd8;
	border-radius: 0;
}
.elementor-widget-button.link .elementor-button {
    font-size: 20px;
    padding: 0;
    color: #edecd8;
    background: transparent;
    text-transform: none;
    border-bottom: 2px solid #edecd8;
}
.elementor-widget-button.link .elementor-button:hover {
    color: #fff;
    border-bottom: 0;
}
.elementor-widget-button.link.icon .elementor-button {
    /*border-bottom: 2px solid #edecd8;*/
	border-bottom: 0;
}
.elementor-widget-button.link.icon .elementor-button .elementor-button-text {
    border-bottom: 2px solid #edecd8;
}
.elementor-widget-button .elementor-button .elementor-button-icon {
    margin-right: 10px;
}
.standard-padding {
    padding-top: 100px;
	padding-bottom: 100px;
}
.max-padding {
    padding-top: 150px;
	padding-bottom: 150px;
}
.padding-text {
    padding-top: 60px;
	padding-bottom: 60px;
}
/*Header*/
header.hlavicka {
    position: fixed;
    z-index: 999;
	flex-wrap: nowrap;
	padding: 15px 30px 15px 0;
	height: 86px;
}
.fixed-header header.hlavicka  {
	background: #696859;
}
header .site-logo svg {
	height: auto;
    width: 100%;
}
header .menu-button {
	position: relative;
    height: 86px;
	
	height: 50px; /*New style*/
	
	/*top: 0; New style*/
    /*padding-top: 35px !important;	*/
	transition: all .6s;
	cursor: pointer;
}
/*.page-id-2 header .menu-button {
    top: -100px;
	opacity: 0;
	transition: all .6s;
}*/
.fixed-header header .menu-button  {
	/*top: -15px; New style*/
	opacity: 1;
	transition: all .6s;
}
.page-id-613 header.hlavicka,
.page-id-338 header.hlavicka,
.elementor-page-168 header.hlavicka  {
	background: #696859;
}
.elementor-page-338 header .menu-button,
.elementor-page-168 header .menu-button  {
	/*top: -15px; New style*/
	opacity: 1;
	transition: all .6s;
}
.mb-icon {
    display: inline-block;
    position: relative;
    width: 20px;
    margin: 0px 10px 1px 0px;
}
.mb-line {
    width: 100%;
    transition: all 200ms ease 0s;
    position: relative;
    display: block;
    height: 1px;
    background-color: #000;
}
.mb-line.mb2 {
    margin: 4px 0px;
    width: 80%;
}
.mb-line.mb3 {
    width: 60%;
}
.menu-button:hover .mb-line.mb1, 
.menu-button:hover .mb-line.mb2, 
.menu-button:hover .mb-line.mb3  {
    width: 90%;
}
.menu-button .mb {
	font-family: "quiche-sans", Sans-serif;
    color: #1F1F1E;
    font-size: 18px;
    letter-spacing: 1px;
    text-transform: uppercase;
    z-index: 2;
    position: relative;
    transition: all 300ms ease 0s;
}

nav.elementor-nav-menu--main ul li a {
    font-family: "quiche-sans", Sans-serif;
    color: #696859;
    font-size: 80px;
    line-height: 120px;
	padding: 0;
}
nav.elementor-nav-menu--main:hover ul li a {
    opacity: 0.3;
}
nav.elementor-nav-menu--main ul li a:hover {
    color: #696859;
	line-height: 120px;
	padding: 0;
}
nav.elementor-nav-menu--main:hover ul li a:hover {
    opacity: 1;
}
#elementor-popup-modal-55 .dialog-widget-content  {
    background-color: #edecd8 !important;
    background-image: none !important;
}
#elementor-popup-modal-55 .dialog-close-button {
    top: 50px;
    right: 50px;
    font-size: 40px;
	border:0;
	outline: 0;
}
#elementor-popup-modal-55 .dialog-close-button svg {
    display: none;
}
#elementor-popup-modal-55 .dialog-close-button::before {
	/*content: "zavÄąâ„˘Ä‚Â­t";
    font-family: "quiche-sans", Sans-serif;
    font-size: 40px;
    text-transform: uppercase;
    opacity: 0.2;
    transition: all 300ms ease 0s;
    position: absolute;
    left: -55px;
    top: 5px;
    color: #A59472;*/
}
#elementor-popup-modal-55 .dialog-close-button:hover:before {
    opacity: 1;
}
#elementor-popup-modal-55 .dialog-close-button::after {
    content: "";
    width: 40px;
    height: 40px;
    display: block;
    background: url('img/close.svg') no-repeat center;
    background-size: contain;
	transition: all 300ms ease 0s;
}
#elementor-popup-modal-55 .dialog-close-button:hover:after {
        transform: scale(0.2);
}

#elementor-popup-modal-55 .dialog-widget-content {
    opacity: 0;
    transform: translateY(70px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

#elementor-popup-modal-55.active .dialog-widget-content {
    opacity: 1;
    transform: translateY(0);
}


header .cpel-switcher__lang a {
    font-weight: 400;
    font-size: 14px;
    font-family: "Inter", Sans-serif;
    width: 37px;
    height: 37px;
    background: transparent;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    /*margin: 0 5px;*/
	text-transform: uppercase;
	color: #faf9e4;
}
header .cpel-switcher__lang.cpel-switcher__lang--active a {
	background: #edecd8;
	color: #27272A;
}

#main .text {
    position: relative;
	/*padding-top: 80px;
    padding-bottom: 80px;*/
	    height: calc(100vh - 160px);
    display: flex;
    justify-content: center;
    margin-top: 80px;
    margin-bottom: 80px;
}
#main .text:before {
    content: "";
    width: 385px;
    height: 100%;
    /*background: rgb(214 182 140 / 80%);*/
	background: hsl(40deg 30% 84.31% / 80%);
    left: 40px;
}
#main {
	--main-indent: 100px;
}
#main h1 {
    text-transform: uppercase;
    font-size: 100px;
    line-height: 100px !important;
	margin-left: var(--main-indent);
	color: #faf9e4;
    text-shadow: 2px 2px 2px hsl(0deg 0% 0% / 15%);
}
#main .hero-box {
	margin-left: var(--main-indent);
	width: calc(100% - var(--main-indent));
}
#main .hero-box .shadow-row {
    margin: 30px 0;
}
@media (max-height: 500px) {
	#main .text {
		height: auto;
		flex-wrap: nowrap;
		margin-top: 100px;
	}
}
#main .hero-box .shadow-row .elementor-widget-icon-box {
    background: rgb(210 210 210 / 20%);
	backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
    max-width: 450px;
    padding: 15px 50px;
	border: 1px solid rgb(255 255 255 / 30%);
}
#main .hero-box .shadow-row .elementor-widget-icon-box:last-child {
    border-left: 1px solid rgb(255 255 255 / 30%);
}
#main .hero-box .shadow-row .elementor-icon i,
#main .hero-box .shadow-row .elementor-icon svg {
    height: 24px;
    width: auto;
}
#main .hero-box .shadow-row .elementor-icon svg *,
#main .hero-box .shadow-row .elementor-icon svg path {
    stroke: #1F1F1E !important;
	stroke: #fff !important;
}
#main .hero-box .elementor-widget-button.link .elementor-button {
    padding-right: 0;
}
#main .hero-box  .button-row .elementor-widget.elementor-widget-heading {
	color: #edecd8;
	font-size: 20px !important;
}
#main .hero-box .elementor-icon-box-title  {
    color: #ebeada;
	font-size: 20px;
}
#main .hero-box .elementor-widget-button .elementor-button .elementor-button-icon {
    margin-right: 0;
}
#main .hero-box .elementor-icon-box-title strong  {
    color: #faf9e4;
}
#main .desc {
    font-size: 18px;
    max-width: 660px;
    color: #edecd8;
}
#main .menu-button {
    margin: 80px auto 0;
	margin: -150px auto 0;
    display: block;
    max-width: 160px;
    /*padding: 34px 30px;*/
	padding: 17px 30px;
    /*border-radius: 10px;*/
	cursor: pointer;
	position: absolute;
	  left: 50%;
	  transform: translateX(-50%);
}
.gsap-reveal {
    will-change: transform, opacity;
}
#roubenky {
    padding-top: 100px;
}
#roubenky .section-title:first-child h2 {
    color: #d1cfba;
}
#roubenky .elementor-flip-box {
    height: 800px;
    /* perspective: 1000px; */
}
#roubenky .elementor-flip-box__back {
    /*background-color: transparent;*/
	background-color: rgb(0 0 0 / 25%);
	opacity: 1;
}
#roubenky .elementor-flip-box .elementor-flip-box__back .elementor-flip-box__layer__overlay {
	position: relative;
	background: transparent;
	overflow: hidden;
}

#roubenky .elementor-flip-box .elementor-flip-box__back .elementor-flip-box__layer__overlay::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(250 249 228));
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 500ms ease 0.2s;
	pointer-events: none;
}
#roubenky .elementor-flip-box:hover .elementor-flip-box__back .elementor-flip-box__layer__overlay::after {
	transform: scaleY(1);
}
#roubenky  .elementor-flip-box__front .elementor-flip-box__layer__overlay {
    padding: 80px;
	justify-content: flex-end;
}
#roubenky  .elementor-flip-box__back .elementor-flip-box__layer__overlay {
    padding: 50px;
	justify-content: flex-end;
}
#roubenky .elementor-flip-box__layer__description {
    /*font-size: 50px;*/
	font-size: 70px;
    font-family: "quiche-sans", Sans-serif;
    text-transform: uppercase;
	position: relative;
    z-index: 9;
	color: #faf9e4;
}
#roubenky .elementor-flip-box__layer__title {
    font-size: 16px;
    font-weight: 400 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 10px !important;
	position: relative;
    z-index: 9;
}
#roubenky .elementor-flip-box__button.elementor-button {
    font-size: 20px;
    padding: 0;
    border: 0;
	color: #faf9e4;
    border-bottom: 2px solid #faf9e4;
    position: relative;
    z-index: 9;
}
#roubenky .elementor-flip-box .elementor-flip-box__layer__description,
#roubenky .elementor-flip-box .elementor-flip-box__layer__title,
#roubenky .elementor-flip-box .elementor-flip-box__button.elementor-button {
    transition: color 0.3s ease 0s, border-color 0.3s ease 0s;
}
#roubenky .elementor-flip-box:hover .elementor-flip-box__layer__description,
#roubenky .elementor-flip-box:hover .elementor-flip-box__layer__title,
#roubenky .elementor-flip-box:hover .elementor-flip-box__button.elementor-button {
    color: #494847 !important;
    transition: color 0.8s ease 0.4s, border-color 0.8s ease 0.4s;
}
#roubenky .elementor-flip-box:hover .elementor-flip-box__button.elementor-button {
	border-color: #494847;
}






#roubenky .sub-page {
	height: 100vh;
}
#roubenky .sub-page .elementor-flip-box {
    height: 50vh;
    /* perspective: 1000px; */
}






#roubenky.alternative .full-width {
    margin: 0 auto;
	padding-bottom: 80px;
}
#roubenky.alternative .elementor-swiper-button {
    z-index: 99;
}
#roubenky.alternative .elementor-element :where(.swiper-horizontal)~.swiper-pagination-progressbar, 
#roubenky.alternative .elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-progressbar {
    height: 4px;
    left: 0;
    top: unset;
    width: 100%;
    bottom: -25px;
}
#roubenky .elementor-flip-box__layer__overlay {
    color: #faf9e4;
}
#malebna-krajina .video-krajina  {
    position: relative;
    margin-top: -65px;
    z-index: 8;
    min-height: 700px;
    padding-bottom: 40px;
}
#malebna-krajina .video-krajina:before  {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(31 31 30)) !important;
}
#malebna-krajina .elementor-widget-button.link .elementor-button {
    color: #fff;
    border-bottom: 2px solid #fff;
}

#krajina  {
	/*margin-top: 80px;*/
}
#krajina:before  {
	background: linear-gradient(0deg,rgba(250, 249, 228, 1) 0%, rgba(250, 249, 228, 0.5) 30%, rgba(250, 249, 228, 0) 60%) !important;
	z-index: 99;
}
#krajina .section-title h2 {
    font-size: 110px;
    line-height: 90px !important;
	color: #696859;
}
#krajina .section-title h2 .black {
	color: #d1cfba !important;
}
#krajina .video-krajina  {
    position: relative;
    margin-top: -65px;
    z-index: 8;
    min-height: 700px;
    padding-bottom: 40px;
}
#krajina .video-krajina:before  {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(31 31 30)) !important;
}
#krajina .elementor-widget-button.link .elementor-button {
    color: #696859;
    border-bottom: 2px solid #696859;
}
#krajina .popis-krajina {
    position: absolute;
	z-index: 99;
	bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
	/*text-shadow: 1px 1px 2px #000;
	color: #ffffff;*/
	color: #696859;
}
#krasa {
    padding-top: 60px;
	padding-bottom: 60px;
}
#krasa h5 {
    font-family: "quiche-sans", Sans-serif;
    font-size: 120px;
    text-transform: uppercase;
}
#krasa .rt-1 h5 {
    margin-left: -5vw;
}
#krasa .rt-2 h5 {
    /*text-align: right;*/
	margin-right: -3vw;
}
#krasa .rt-3 h5 {
    margin-left: -10vw;
}
#rezervace  {
    padding-top: 100px;
	padding-bottom: 100px;
}
#rezervace h4 {
    font-size: 30px;
    margin-bottom: 60px;
}
#rezervace .elementor-widget-n-tabs .e-n-tab-title {
    font-size: 16px;
    padding: 17px 30px;
    color: #1F1F1E;
    background: #fff;
    text-transform: uppercase;
    border-radius: 0;
	font-family: "quiche-sans", Sans-serif;
	margin-bottom: 40px;
}	
#rezervace .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true], 
#rezervace .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a {
    background: #edecd8;
}	
#bottom {
    padding-top: 60px;
    padding-bottom: 60px;
	color: #faf9e4;
    background-color: #696859;
}
#bottom a {
	color: #faf9e4;
}
#bottom a:hover {
	color: #eaebd4;
}
#bottom .elementor-widget-loop-carousel {
    --swiper-slides-to-display: 1 !important;
}
#recenze {
    background: #edecd8;
    padding: 100px;
	color: #696859;
}
#bottom h3.elementor-heading-title {
    font-size: 50px;
	color: #eaebd4;
}
#bottom #recenze h3.elementor-heading-title {
	color: #696859;
}
#recenze .elementor-widget-text-editor {
    font-size: 16px;
}
#recenze .elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next, 
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
    background: #edecd8;
    border: 1px solid hsl(0deg 0% 0% / 10%);
    color: #121111;
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next:hover, 
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover {
    background: #edecd8;
}
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next svg, 
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev svg {
    fill: ##696859;
}
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
    left: -124px;
}
#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next{
    right: -124px;
}
#recenze a {
    color: #696859;
}
#recenze a:hover {
    color: #696859;
	text-decoration: underline;
}
.kontakt.elementor-widget-text-editor {
    font-size: 16px;
    font-weight: 500;
    line-height: 30px;
}
.kontakt.elementor-widget-text-editor a {
    text-decoration: underline;
	font-family: "Inter";
}
.kontakt.elementor-widget-text-editor a:hover {
    text-decoration: none;
}
.social-desc p {
    margin: 0; 
}
.social-icon a.elementor-icon {
    width: 38px;
    height: 38px;
    background: #edecd8;
    border-radius: 50%;
	display: flex;
    align-items: center;
    justify-content: center;
}
.social-icon a.elementor-icon:hover {
    background: #edecd8;
}
.social-icon a.elementor-icon svg {
	fill: #1F1F1E;
	width: 22px;
	height: 22px;
}
.trockenmann {
    font-size: 14px;
}
.trockenmann svg {
    height: 25px;
    width: auto;
}
.estation  {
    display: none;
}




#main-galerie {
    padding-top: 250px;
	padding-bottom: 250px;
}


#main-galerie h1,
#main-chalupa h1 {
    font-size: 160px;
	margin: 30px auto;
}
#main-chalupa h3 {
    font-size: 60px;
	color: #edecd8;
}
#main-chalupa .elementor-widget-text-editor {
    font-size: 30px;
    max-width: 370px;
    margin: 0 auto;
    color: #edecd8;
    line-height: 45px;
}
#o-roubence h3,
#uvod h3 {
    font-size: 60px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
}
#o-roubence .text-container {
    max-width: 490px;
}

#o-roubence .o-chalupe-bg {
    height: var(--text-container-height);
}
#o-roubence .absolute.top {
    margin-left: 50px;
}
#o-roubence .elementor-widget-button .elementor-button {
    color: #faf9e4;
    background: #696859;
}
#o-roubence .elementor-widget-button .elementor-button:hover {
    color: #696859;
    background: #edecd8;
}




#main-page h1 {
    font-size: 60px;
    margin: 30px auto;
    line-height: 80px !important;
}

#main-page h3 {
    font-size: 60px;
}
#main-page .elementor-widget-text-editor {
	font-size: 24px;
    max-width: 700px;
    margin: 0 auto;
    color: #edecd8;
    line-height: 36px;
}
#main-page .white.elementor-widget-text-editor {
    color: #faf9e4;
}

#ceniky .elementor-widget-n-tabs .e-n-tab-title {
    font-size: 16px;
    padding: 17px 30px;
    color: #1F1F1E;
    background: #faf9e4;
    text-transform: uppercase;
    border-radius: 0;
	font-family: "quiche-sans", Sans-serif;
	margin-bottom: 40px;
}	
#ceniky .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true], 
#ceniky .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a {
    background: #696859;
    color: #edecd8;
}
#podminky table th:first-child,
#podminky table td:first-child,	
#ceniky table th:first-child,
#ceniky table td:first-child {
    width: 70%;
}
table thead:first-child tr:first-child th {
    border-block-start: 1px solid #000;
}
table td, table th {
    padding: 10px 20px;
}
table th {
    border: unset;
    line-height: 1.5;
    padding: 15px;
    vertical-align: top;
    font-weight: 300 !important;
    text-transform: uppercase;
    font-size: 14px !important;
    background: transparent;
}
table td, 
table th {
    border: 0;
}
table tbody>tr:nth-child(odd)>td, 
table tbody>tr:nth-child(odd)>th {
    background-color: transparent;
}
table thead:first-child tr:first-child th {
    border-block-start: unset;
}
table tbody {
	border-block-start: 1px solid hsla(0,0%,50%,.502);
    border-block-end: 1px solid hsla(0,0%,50%,.502);
}
table td:first-child,
table th:first-child {
    text-align: left;
}
table td {
    text-align: center;
}

#podminky .e-grid  {
    margin-top: 50px;
}
#podminky .elementor-widget-icon-box {
    padding: 28px 32px;
    border-bottom: 1px solid hsla(0,0%,50%,.502);
    /*border-right: 1px solid hsla(0,0%,50%,.502);*/
    transition: background 0.25s;
	background: #edecd8;
    color: #696859;
}
#podminky .elementor-widget-icon-box:hover {
    background: #696859;
}
#podminky .elementor-widget-icon-box svg {
    width: 28px;
    height: 28px;
    margin-bottom: 10px;
    /*color: var(--gold);*/
	color: #edecd8;
}
#podminky .elementor-widget-icon-box svg, 
#podminky .elementor-widget-icon-box svg * {
    stroke: #696859 !important;
}
/*#podminky .elementor-widget-icon-box svg,
#podminky .elementor-widget-icon-box svg rect,
#podminky .elementor-widget-icon-box svg path {
    fill: #edecd8;
	stroke: #edecd8;
}*/
#podminky .elementor-widget-icon-box h3 {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    /*color: var(--gold);*/
	color: #696859;
    margin-bottom: 6px;
}
#podminky .elementor-icon-box-description  {
    font-size: 13px;
    margin-top: 10px;
    /*font-family: "quiche-sans", Sans-serif;*/
    font-weight: 300;
    letter-spacing: 0.1em;
	color: #696859;
}
#podminky .elementor-widget-icon-box:hover h3,
#podminky .elementor-widget-icon-box:hover .elementor-icon-box-description {
    color: #faf9e4;
}
#podminky .elementor-widget-icon-box:hover svg, 
#podminky .elementor-widget-icon-box:hover svg * {
    stroke: #faf9e4 !important;
}

#sluzby .section-title.absolute.top h2 {
    font-size: 90px;
}
#sluzby .e-grid  {
    margin-top: 50px;
}
#sluzby .e-con-full.box {
    padding: 28px 32px;
	background: #faf9e4;
    transition: background 0.25s;
}
#sluzby .e-con-full.box:hover  {
    background: #696859;
}
#sluzby svg {
    width: 28px;
    height: 28px;
    margin-bottom: 10px;
    /*color: var(--gold);*/
	color: #696859;
}
#sluzby .elementor-widget-icon-box h3{
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    /*color: var(--gold);*/
	color: #696859;
    margin-bottom: 6px;
}
#sluzby .e-con-full.box .elementor-widget-text-editor  {
    font-size: 13px;
    margin-top: 10px;
    /*font-family: "quiche-sans", Sans-serif;*/
    font-weight: 300;
    letter-spacing: 0.1em;
}
#sluzby .kat-list {
    list-style: none;
	padding: 0;
}
#sluzby .kat-list li {
    font-size: 0.875rem;
    font-weight: 300;
    color: #696859;
    padding: 4px 0;
    /*border-bottom: 1px solid rgba(255, 255, 255, 0.07);*/
    display: flex;
    align-items: center;
    gap: 8px;
}
#sluzby .kat-list li::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #696859;
    flex-shrink: 0;
}
#sluzby .kat-list li:last-child {
    border-bottom: none;
}
#sluzby .box:hover h3,
#sluzby .box:hover .kat-list li {
    color: #faf9e4;
}
#sluzby .box:hover .kat-list li::before {
    background: #faf9e4;
}
#sluzby .box:hover svg, 
#sluzby .box:hover svg * {
    stroke: #faf9e4 !important;
}

#galerie-single {
    padding-top: 200px;
	padding-bottom: 80px;
}
#main-gallery h1 {
    font-size: 60px;
    margin: 30px auto;
    line-height: 80px !important;
	color: #696859;
	max-width: 1000px;
}
#main-gallery .elementor-widget-text-editor {
    font-size: 24px;
    max-width: 900px;
    margin: 0 auto;
    line-height: 36px;
}
.e-gallery--ltr.e-gallery-masonry .e-gallery-item {
    outline: none;
    border: none;
    max-width: 100%;
    transition: all 500ms ease 0s;
}
.e-gallery--ltr.e-gallery-masonry .e-gallery-item:hover {
    transform: scale(0.98);
    opacity: 0.6;
}
.elementor-gallery-item__overlay {
    display: none !important;
}

#vylety .elementor-widget-loop-grid .e-loop-item {
	padding: 40px 0;
} 
#vylety .elementor-widget-loop-grid .e-loop-item:nth-of-type(2n) .e-con-inner {
	flex-direction: row-reverse;
} 
#vylety .elementor-widget-loop-grid .e-loop-item h3 {
    font-size: 34px;
    line-height: 48px;
}


#blog .elementor-widget-posts .elementor-post  {
    position: relative;
	height: 550px;
}
#blog .elementor-widget-posts .elementor-post__thumbnail__link img {
    height: 550px;
	width: 100%;
	object-fit: cover;
}
#blog .elementor-widget-posts .elementor-post__text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    color: #fff;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(31 31 30));
}
#blog .elementor-widget-posts h3.elementor-post__title {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 10px;
}
#blog .elementor-widget-posts .elementor-post__excerpt {
    max-height: 0;
	opacity: 0;
	transition: max-height 0.3s ease;
}
#blog .elementor-widget-posts .elementor-post:hover .elementor-post__excerpt {
    max-height: 72px;
	opacity: 1;
}
#blog .elementor-widget-posts .elementor-post__excerpt p {
    color: #fff;
    font-size: 16px;
    line-height: 1.5em;
}
#blog ..elementor-widget-posts .elementor-post__meta-data {
    color: #fff;
    font-size: 13px;
}
#blog .elementor-widget-posts .elementor-post__read-more {
	max-height: 0;
	opacity: 0;
	transition: max-height 0.6s ease;
}
#blog .elementor-widget-posts .elementor-post:hover .elementor-post__read-more {
	max-height: 18px;
	opacity: 1;
}
.elementor-widget-text-editor a,
#blog .elementor-post__read-more  {
	font-family: "Montserrat", Sans-serif;
	font-weight: 400;
}	
#single-post  .elementor-widget-text-editor a  {
	color: #000;
}	
#single-post  .elementor-widget-text-editor a:hover  {
	color: #000;
	text-decoration: underline;
}	

/* ==============================================
   ALTERNATIVE style
   ============================================== */
.page-id-759 {
    background-color: #363A2A;
}
.page-id-759 .fixed-header header.hlavicka {
    background: #363a2a;
}




/*Call s davidem*/
#main .text:before  {
	display: none;
}




/* ==============================================
   RESPONZIVITA - Media Queries
   ============================================== */

@media (max-height: 1150px) {
	nav.elementor-nav-menu--main ul li a {
		font-size: 80px;
		line-height: 80px;
	}	
	nav.elementor-nav-menu--main ul li a:hover {
		line-height: 80px;
	}
}	
@media (max-height: 800px) {
	nav.elementor-nav-menu--main ul li a {
        font-size: 40px;
        line-height: 40px;
    }
	nav.elementor-nav-menu--main ul li a:hover {
		line-height: 40px;
	}
	#elementor-popup-modal-55 .dialog-close-button::after {
		width: 20px;
		height: 20px;
	}
	#elementor-popup-modal-55 .dialog-close-button::before {
		font-size: 20px;
		left: -27px;
		top: 2px;
	}
}
@media (max-height: 70px) {
	nav.elementor-nav-menu--main ul li a {
        font-size: 30px;
        line-height: 30px;
    }
	nav.elementor-nav-menu--main ul li a:hover {
		line-height: 30px;
	}
}



@media (max-width: 1360px) {
	#main {
		--main-indent: 60px;
	}
	#main h1 {
		font-size: 80px;
		line-height: 80px !important;
	}
	#main .menu-button {
		padding: 20px 30px;
	}
	.section-title h2 {
		font-size: 80px;
		line-height: 80px !important;
	}
	#krasa h5 {
		font-size: 90px;
	}
	#krasa .rt-2 h5 {
		text-align: center;
		margin-right: 0;
	}
	#krasa .rt-1 h5,
	#krasa .rt-3 h5 {
		margin-left: 0;
	}
	#recenze {
		padding: 60px;
	}
	.social-icon {
		display: flex;
		flex-direction: column !important;
	}
	#main-page h3,
	#main-page h1 {
		font-size: 48px;
		line-height: 60px !important;
	}
	#adresa {
		padding-left: 30px;
		padding-right: 30px;
	}
	#main-galerie h1, 
	#main-chalupa h1 {
		font-size: 80px;
	}
	#main-chalupa h3 {
		font-size: 40px;
	}
	#o-roubence h3, 
	#uvod h3 {
		font-size: 48px;
	}
	#main-galerie {
		padding-top: 150px;
		padding-bottom: 150px;
	}
}	
@media (max-width: 1025px) {
	#main-galerie {
		padding-top: 100px;
		padding-bottom: 50px;
	}
	#vypnete {
		padding-bottom: 60px;
	}
	#roubenky {
		padding-top: 50px;
	}
	header .cpel-switcher__lang a {
		font-size: 16px;
		position: relative;
		top: 3px;
	}
	.cpel-switcher--layout-dropdown .cpel-switcher__toggle a {
		width: 54px !important;
		min-width: 54px;
		height: 34px;
		border-radius: 0;
		padding: 0;
		gap: 0;
	}
	.cpel-switcher--layout-dropdown .cpel-switcher__toggle .cpel-switcher__icon {
		font-style: normal;
		font-size: 13px;
		line-height: 1;
		color: inherit;
		margin-left: 6px;
	}
	.cpel-switcher--layout-dropdown .cpel-switcher__toggle .cpel-switcher__icon:before {
		content: "▾";
	}
	header .elementor-widget-button .elementor-button .elementor-button-icon {
		display: none;
	}
	#recenze {
        padding: 40px;
    }
	#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
		left: 10px !important;
	}
	#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next {
		right: -60px !important;
	}
}	
@media (max-width: 767px) {
	.standard-padding,
	.padding-text,
	.max-padding {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#main .text {
		height: auto;
		flex-wrap: nowrap;
	}
	.section-title h2 {
        font-size: 60px;
        line-height: 60px !important;
    }
	#main .text:before {
		width: 240px;
	}
	#main-galerie h1, 
	#main-chalupa h1 {
        font-size: 60px;
        margin: 0 auto;
    }
	#main-chalupa h3 {
        font-size: 28px;
    }
	#main-chalupa .elementor-widget-text-editor {
		font-size: 24px;
		line-height: 36px;
	}
	.absolute.right {
		right: 0;
		width: 100%;
	}
	#malebna-krajina .video-krajina,
	.absolute.top {
		margin-top: -45px;
	}
	#vypnete {
		padding-left: 30px;
		padding-right: 30px;
		padding-bottom: 15px;
	}
	#vypnete .absolute.right.section-title,
	#vypnete .elementor-widget-text-editor	{
		text-align: start !important;
	}
	#roubenky {
		padding-top: 30px;
	}

	/* "CHALUPY K PRONAJMU" foto (#vypnete .elementor-element-3f024b3): na
	   desktopu je skryte tridou elementor-hidden-mobile a nadpis nema pod
	   sebou zadny obrazek. Na mobilu foto zobrazime jako 300px banner nahore
	   a nadpis pres nej prekryjeme bilou barvou. 2026-09-10 */
	#vypnete > .e-con-inner {
		flex-direction: column !important;
	}
	#vypnete .elementor-element-3f024b3 {
		display: block !important;
		order: -1;
		width: 100%;
		height: 300px;
		margin-bottom: 30px;
	}
	#vypnete .elementor-element-3f024b3 .elementor-spacer,
	#vypnete .elementor-element-3f024b3 .elementor-spacer-inner {
		height: 100% !important;
	}
	#vypnete .elementor-element-8c0709b {
		position: static !important;
	}
	#vypnete .elementor-element-1ac4bb6 {
		position: absolute !important;
		top: 50px;
		left: 0;
		width: 100%;
		height: 300px;
		display: flex !important;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin: 0 !important;
		padding: 0 30px !important;
		z-index: 2;
	}
	#vypnete .elementor-element-1ac4bb6 .elementor-heading-title {
		color: #fff !important;
		-webkit-text-fill-color: #fff !important;
		text-shadow: 0 1px 6px rgba(0,0,0,.55) !important;
		text-align: center !important;
	}
	#vypnete > .e-con-inner {
		gap: 0 !important;
	}
	#vypnete .elementor-element-8c0709b {
		padding-top: 0 !important;
	}
	#recenze {
        padding: 40px 80px;
    }
	.kontakt-col  {
        padding: 0 80px;
    }
	#krasa h5 {
        font-size: 70px;
    }
	#krasa .rt-1 h5,
	#krasa .rt-2 h5,
	#krasa .rt-3 h5 {
		margin-left: 0;
		margin-right: 0;
	}
	#o-roubence h3, 
	#uvod h3,
	#main-page h3, 
	#main-page h1 {
        font-size: 36px;
        line-height: 48px !important;
		margin: 0 auto;
    }
	#main-page .elementor-widget-text-editor {
		font-size: 18px;
		line-height: 34px;
		margin: 0 auto;
	}
	#o-roubence .text-container {
		max-width: 100%;
	}
}	
@media (max-width: 700px) {	
	.zemptat-se {
		display: none;
	}
}
@media (max-width: 500px) {	
	#main {
		--main-indent: 20px;
	}
	header .menu-button {
        height: 66px;
        font-size: 14px !important;
        padding: 25px 5px 17px!important;
    }
	header.hlavicka {
		height: 66px;
	}
    #main {
        padding-left: 30px;
		padding-right: 30px;
    }
	#main h1 {
        font-size: 50px;
        line-height: 60px !important;
    }
	#main .text:before {
        width: 180px;
    }
	#main .desc {
		font-size: 16px;
	}
	#main .text {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#roubenky .elementor-flip-box {
		height: 300px;
	}
	#roubenky .elementor-flip-box__layer__description {
		font-size: 38px;
		margin: 0;
	}
	#recenze {
        padding: 40px 60px 40px 30px;
    }
	#recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
        display: none !important;
    }
	.kontakt-col {
        padding: 0 30px;
    }
	#bottom h3.elementor-heading-title {
		font-size: 36px;
	}
	.section-title h2 {
        font-size: 36px;
        line-height: 48px !important;
    }
	#o-roubence h3, #uvod h3, #main-page h3, #main-page h1 {
        font-size: 28px;
        line-height: 34px !important;
        margin: 0 auto;
    }
	#main-page .elementor-widget-text-editor {
        font-size: 15px;
        line-height: 26px;
        margin: 0 15px;
    }
	#sluzby .section-title.absolute.top h2 {
		font-size: 48px;
		line-height: 44px !important;
	}
	#adresa {
        padding-left: 10px;
        padding-right: 10px;
    }
	#o-roubence .o-chalupe-bg {
		height: 300px;
	}
}

/* Hero foto (#vypnete .elementor-element-3f024b3): odstraněna přebytečná
   margin-top cca 120px (auto-resolved flex cross-axis mezera), kvůli které
   fotka začínala výrazně níž než nadpis "CHALUPY K PRONÁJMU" a první řádek
   nadpisu tak visel nad prázdnem místo nad fotkou. */
#vypnete .elementor-element-3f024b3 {
  margin-top: 0 !important;
}

/* ============================================================================
   Hero outline heading "Útulné roubenky v Černém Dole" (split solid/outline)
   JS: js/cp-outline-heading.js
   Lze ladit proměnnými níže (barva / průhlednost / tloušťka obrysu, halo).
   ========================================================================== */
#vypnete .section-title.absolute.right .elementor-heading-title {
  position: relative;
  /* --- NASTAVENÍ OBRYSU: 4. číslo v rgba() = krytí 0-1 (1 = plná bílá) --- */
  position: relative;
    --cp-stroke-color: rgb(255 255 255 / 90%);
    --cp-stroke-width: 2.5px;
    --cp-halo: drop-shadow(0 0 1px rgba(0, 0, 0, .85)) drop-shadow(0 0 4px rgba(0, 0, 0, .55));;
}
#vypnete .section-title.absolute.right.cp-split .elementor-heading-title {
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
#vypnete .section-title.absolute.right.cp-split .elementor-heading-title::before,
#vypnete .section-title.absolute.right.cp-split .elementor-heading-title::after {
  content: var(--cp-text, " ");
  position: absolute;
  inset: 0;
  white-space: pre-line;
  pointer-events: none;
}
/* Plná část – mimo fotku (levá strana) */
#vypnete .section-title.absolute.right.cp-split .elementor-heading-title::before {
  color: var(--cp-solid, #d1cfba);
  -webkit-text-fill-color: var(--cp-solid, #d1cfba);
  text-shadow: none !important;
  clip-path: inset(0 var(--cp-rightinset, 0px) 0 0);
}
/* Outline část – přes fotku (pravá strana) */
#vypnete .section-title.absolute.right.cp-split .elementor-heading-title::after {
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: var(--cp-stroke-width, 2.5px) var(--cp-stroke-color, #fff);
  text-stroke: var(--cp-stroke-width, 2.5px) var(--cp-stroke-color, #fff);
  text-shadow: none;
  filter: var(--cp-halo, none);
  clip-path: inset(0 0 0 var(--cp-leftinset, 100%));
}

/* cp-flip-image-swap */
/* Nativni prolnuti: predni = exterier (Elementor), zadni = interier (Elementor).
   Text na predni vrstvu zdvojuje JS. Pevny z-index, aby zadni pri hoveru prekryla predni (zadny dvojity text). */
#roubenky .elementor-flip-box__front{z-index:1;}
#roubenky .elementor-flip-box__back{z-index:2;opacity:0;transition:opacity .6s ease-in-out;}
#roubenky .elementor-flip-box:hover .elementor-flip-box__back,#roubenky .elementor-flip-box:focus-within .elementor-flip-box__back{opacity:1;}
#roubenky .elementor-flip-box__front .elementor-flip-box__layer__overlay{background-color:rgba(0,0,0,.25);padding:50px;}

/* === CP 2026-07-09: sjednoceni H1 na celem webu (uppercase + responzivni velikost) + fade-up entrance (zpozdeni 300ms) === */
h1,
h1.elementor-heading-title {
	text-transform: uppercase !important;
	font-size: clamp(48px, 7vw, 100px) !important;
	line-height: 1.1 !important;
}
@keyframes cpH1FadeUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
h1.elementor-heading-title { animation: cpH1FadeUp .9s cubic-bezier(.16, 1, .3, 1) .3s both; }
@media (prefers-reduced-motion: reduce) { h1.elementor-heading-title { animation: none !important; } }

/* === CP 2026-07-09: Lokalita – sekce vylety na galerijni sedou (#e1e1dc, misto bg-sand) === */
/* === CP 2026-08-18: Lokalita – zvětšené nadpisy sekcí + přesah do fotky (obrys jako hero na HP). JS: cp-zigzag-heading.js === */
.cp-zigzag-text .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(45px, 6vw, 77px) !important;
	line-height: 1.06 !important;
}
@media (min-width: 768px) {
	.cp-zigzag-text .cp-zz-heading {
		position: relative;
		z-index: 5;
		align-self: flex-start;
		width: fit-content !important;
		max-width: 660px !important;
		overflow: visible;
	}
	.cp-zz-heading.cp-split .elementor-heading-title {
		position: relative;
		color: transparent;
		-webkit-text-fill-color: transparent;
		text-shadow: none;
		--cp-stroke-color: rgb(255 255 255 / 90%);
		--cp-stroke-width: 2.5px;
		--cp-halo: drop-shadow(0 0 1px rgba(0,0,0,.85)) drop-shadow(0 0 4px rgba(0,0,0,.55));
	}
	.cp-zz-heading.cp-split .elementor-heading-title::before,
	.cp-zz-heading.cp-split .elementor-heading-title::after {
		content: var(--cp-text, " ");
		position: absolute;
		inset: 0;
		pointer-events: none;
		white-space: normal;
	}
	.cp-zz-heading.cp-split .elementor-heading-title::before {
		color: var(--cp-solid, #a7a697);
		-webkit-text-fill-color: var(--cp-solid, #a7a697);
		text-shadow: none;
		clip-path: var(--cp-before-clip, inset(0));
	}
	.cp-zz-heading.cp-split .elementor-heading-title::after {
		color: #ffffff;
		-webkit-text-fill-color: #ffffff;
		-webkit-text-stroke: 0;
		text-shadow: 0 1px 3px rgba(0, 0, 0, .35);
		clip-path: var(--cp-after-clip, inset(0 0 0 100%));
	}
}

#vylety { background-color: #e1e1dc !important; }

/* === CP 2026-07-09: "Více informací" (loop výletů, widget 344b607) jako plné tlačítko ve stylu homepage === */
.elementor-widget-button.elementor-widget.link.elementor-element-344b607 .elementor-button {
	background-color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 16px 34px !important;
	text-transform: uppercase !important;
	font-size: 16px !important;
	font-family: "quiche-sans", sans-serif !important;
	font-weight: 300 !important;
	transition: background-color .3s ease, color .3s ease !important;
}
.elementor-widget-button.elementor-widget.link.elementor-element-344b607 .elementor-button .elementor-button-text { color: #333 !important; border-bottom: 0 !important; }
.elementor-widget-button.elementor-widget.link.elementor-element-344b607 .elementor-button:hover { background-color: #595850 !important; }
.elementor-widget-button.elementor-widget.link.elementor-element-344b607 .elementor-button:hover .elementor-button-text { color: #fff !important; }

/* === CP 2026-07-09: hero přes obrázek – H1 bílé kvůli čitelnosti === */
/* #main-page = běžné stránky (Ceny, Lokalita…), #main-chalupa = detaily chalup. */
/* HP (#main) i Galerie (#main-gallery/šedá) NEtknuté – popisy jsou už bílé. */
#main-page h1 { color: #fff !important; }
/* #main-chalupa vyšší specificita (dvojitá třída) kvůli přebití body.cp-preview #main-chalupa h1 (1,1,2) */
#main-chalupa h1.elementor-heading-title.elementor-heading-title { color: #fff !important; }

/* === CP 2026-07-09: Blog článek (#single-post) – šedé pozadí jako galerie + H1 bez uppercase a výrazně menší === */
#single-post { background-color: #e1e1dc !important; }
#single-post h1 { text-transform: none !important; font-size: clamp(28px, 3.5vw, 44px) !important; line-height: 1.15 !important; }

/* === CP 2026-07-09: Ceny – rezervační tlačítka pod sekcemi (cp-rez-cta) tmavá plná (viditelná na bílé) === */
.elementor-widget-button.js-rezeo-trigger.zemptat-se.cp-rez-cta .elementor-button { background-color: #595850 !important; color: #fff !important; border: 0 !important; }
.elementor-widget-button.js-rezeo-trigger.zemptat-se.cp-rez-cta .elementor-button .elementor-button-text,
.elementor-widget-button.js-rezeo-trigger.zemptat-se.cp-rez-cta .elementor-button .elementor-button-icon i { color: #fff !important; }
.elementor-widget-button.js-rezeo-trigger.zemptat-se.cp-rez-cta .elementor-button:hover { background-color: #6f6e5f !important; }

/* === CP 2026-07-09: Patička – "Roubenky s láskou postavila firma Roubenky Roubal" (widget 725f4ee) stejný styl jako "Made by Trockenmann" (quiche-sans 14px) === */
.elementor-element-725f4ee,
.elementor-element-725f4ee p,
.elementor-element-725f4ee a { font-family: "quiche-sans", sans-serif !important; font-size: 14px !important; line-height: 21px !important; font-weight: 300 !important; }

/* === CP 2026-08-18: Lokalita – zig-zag sekce (obrázek + text střídavě, viz src/chalupa-mapa.php vzor) === */
.cp-zigzag-row { padding: 50px 0; }
.cp-zigzag-row .cp-zigzag-img,
.cp-zigzag-row .cp-zigzag-text { flex: 1 1 50%; min-width: 0; }
.cp-zigzag-img img { width: 100%; height: 420px; object-fit: cover; border-radius: 4px; display: block; }
.cp-zigzag-text h3 { color: #595850; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 28px; }
.cp-zigzag-text p { margin: 0 0 14px; line-height: 1.6; }
@media (max-width: 767px) {
    .cp-zigzag-row { flex-direction: column !important; padding: 30px 0; }
    .cp-zigzag-img img { height: 260px; }
}

/* === CP 2026-08-18: Lokalita – grid Výlety (karta obrázek+nadpis, hover vysune text+tlačítko, nadpis zůstává viditelný) === */
.page-lokalita .elementor-loop-container.elementor-grid { grid-auto-flow: dense; align-items: stretch; grid-auto-rows: 380px; gap: 20px; }
.page-lokalita .e-loop-item { padding: 0 !important; }
.cp-vylet-card { position: relative; overflow: hidden; border-radius: 4px; height: 100%; }
.e-loop-item.cp-vylet-card--tall { grid-row: span 2; }
.cp-vylet-card-photo { position: absolute; inset: 0; }
.cp-vylet-card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; z-index: 2; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.92) 100%); transition: background .35s ease; }
.cp-vylet-card:hover .cp-vylet-card-overlay { background: linear-gradient(to bottom, rgba(0,0,0,.25) 0%, rgba(0,0,0,.65) 40%, rgba(0,0,0,.95) 100%); }
.cp-vylet-card-title { order: 1; flex: 0 0 auto; }
.cp-vylet-card-title h3 { color: #fff !important; margin: 0 !important; font-family: "Inter", sans-serif !important; font-size: 19px !important; font-weight: 300 !important; text-transform: none !important; letter-spacing: normal !important; line-height: 1.3 !important; }
.cp-vylet-card-reveal { order: 2; flex: 0 0 auto; max-height: 0; opacity: 0; overflow: hidden; margin-top: 0; transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease; }
.cp-vylet-card:hover .cp-vylet-card-reveal { max-height: 300px; opacity: 1; margin-top: 6px; }
.cp-vylet-card-reveal p { color: #fff; font-size: 13px; line-height: 1.45; margin: 0 0 6px; }
.cp-vylet-card-reveal .elementor-button { background: transparent !important; color: #faf9e4 !important; font-family: "Montserrat", sans-serif !important; font-size: 12px !important; font-weight: 400 !important; text-transform: none !important; text-decoration: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; min-height: auto !important; display: inline-block !important; }

/* === CP 2026-08-18: Lokalita - filtr kategorii nad gridem Vylety === */
.page-lokalita .elementor-widget-loop-grid { padding-top: 0 !important; }
@media (min-width: 768px) {
	.cp-zigzag-row { align-items: flex-end !important; }
}
@media (min-width: 768px) {
	.cp-zigzag-img > .elementor-widget-image,
	.cp-zigzag-img .elementor-widget-image > .elementor-widget-container,
	.cp-zigzag-img figure,
	.cp-zigzag-img .elementor-image { height: 100%; margin: 0; }
	.cp-zigzag-img img { height: 100%; width: 100%; object-fit: cover; display: block; }
}
.cp-vylet-filter-head { text-align: center; margin: 0 0 50px; padding-top: 110px; }
@keyframes cpVyletFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.cp-vylet-anim { animation: cpVyletFade .45s cubic-bezier(.16, 1, .3, 1) both; }
@media (prefers-reduced-motion: reduce) { .cp-vylet-anim { animation: none; } }
.cp-vylet-filter-title { font-family: "quiche-sans", sans-serif !important; font-size: 36px !important; font-weight: 400 !important; text-transform: uppercase !important; letter-spacing: 1px !important; line-height: 1.2 !important; color: #696859 !important; margin: 0 0 24px !important; }
.cp-vylet-filter-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.cp-vylet-filter-btn { font-family: "quiche-sans", sans-serif; font-size: 15px; font-weight: 300; text-transform: uppercase; letter-spacing: normal; color: #333333; background: #ffffff; border: 0; border-radius: 0; padding: 12px 26px; cursor: pointer; transition: background .25s ease, color .25s ease; }
.cp-vylet-filter-btn:hover, .cp-vylet-filter-btn:focus { background: #696859; color: #faf9e4; }
.cp-vylet-filter-btn.is-active { background: #696859; color: #faf9e4; }
@media (max-width: 767px) {
	.cp-vylet-filter-title { font-size: 26px !important; margin-bottom: 18px !important; }
	.cp-vylet-filter-btn { font-size: 13px; padding: 10px 18px; }
}

/* Detail chalupy: nadpis Vybaveni a dispozice - normalni textovy font (Inter), mensi */
.vybaveni-dispozice .elementor-heading-title {
    font-family: "Inter", sans-serif !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    margin-top: -15px;
    color: #696859;
}

/* === 2026-10-13: detail chalupy - na mobilu zobrazit tlacitka Rezervace/Cenik (puvodne skryta .zemptat-se, sticky lista neexistuje) === */
@media (max-width: 700px) {
	.elementor-element-23806d1 .zemptat-se {
		display: block;
	}
}

/* 2026-10-13: kompaktnejsi tlacitka Rezervace/Cenik na mobilu (mensi mezera i velikost) */
@media (max-width: 700px) {
	.elementor-element-23806d1 {
		gap: 10px;
		margin-top: 20px;
	}
	.elementor-element-23806d1 .zemptat-se {
		margin-top: 0 !important;
	}
	.elementor-element-23806d1 .zemptat-se .elementor-button {
		font-size: 14px !important;
		padding: 12px 22px !important;
	}
}

/* 2026-10-13: opticke vycentrovani textu v mobilnich tlacitkach (metrika fontu quiche-sans, text sedi vys) */
@media (max-width: 700px) {
	.elementor-element-23806d1 .zemptat-se .elementor-button {
		padding: 14px 22px 10px !important;
	}
}

/* 2026-10-13: vyrovnani mezer nad a pod tlacitky na mobilu */
@media (max-width: 700px) {
	.elementor-element-23806d1 {
		margin-top: 0;
		margin-bottom: 28px;
	}
}

/* 2026-10-13: Ceniky na mobilu - cena a Kc v jednom radku, uzsi odsazeni bunek */
@media (max-width: 700px) {
	#ceniky table td,
	#ceniky table th {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	#ceniky table td:last-child {
		white-space: nowrap;
	}
}

/* 2026-10-13: Ceniky na mobilu - kompaktnejsi tabulka, hlavicka v jednom radku */
@media (max-width: 700px) {
	#ceniky table th {
		white-space: nowrap;
		font-size: 12px !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	#ceniky table td {
		font-size: 14px !important;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
}

/* 2026-10-13: Ceniky na mobilu - bez bocniho paddingu .e-n-tabs (prebiji preview-styles.css 20px) */
@media (max-width: 700px) {
	html body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tabs {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* 2026-10-13: Ceny / Podminky pobytu na mobilu - nadpis boxu vedle ikony (uspora vysky) */
@media (max-width: 700px) {
	#podminky .elementor-widget-icon-box {
		padding: 18px 20px !important;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-wrapper {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 14px;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-icon {
		width: auto;
		margin: 0 !important;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-content {
		display: contents;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-title {
		flex: 1 1 0;
		min-width: 0;
		margin: 0 !important;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-description {
		flex: 0 0 100%;
		margin-top: 10px;
	}
}

/* 2026-10-13: Podminky mobil - mensi ikona (box ikony byl 50px, glyf ~25px => velka mezera) */
@media (max-width: 700px) {
	#podminky .elementor-widget-icon-box .elementor-icon {
		font-size: 28px !important;
		width: 28px;
		height: 28px;
		line-height: 28px;
	}
	#podminky .elementor-widget-icon-box .elementor-icon svg {
		width: 28px;
		height: 28px;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-wrapper {
		gap: 0 12px;
	}
}

/* 2026-10-13: Podminky mobil - vetsi ikona vlevo, nadpis + popis vpravo od ni */
@media (max-width: 700px) {
	#podminky .elementor-widget-icon-box .elementor-icon-box-wrapper {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		align-items: center;
		gap: 4px 16px;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-icon {
		grid-column: 1;
		grid-row: 1 / span 2;
		align-self: center;
	}
	#podminky .elementor-widget-icon-box .elementor-icon {
		font-size: 42px !important;
		width: 42px;
		height: 42px;
		line-height: 42px;
	}
	#podminky .elementor-widget-icon-box .elementor-icon svg {
		width: 42px;
		height: 42px;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-title {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-description {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
		margin-top: 0;
	}
}

/* 2026-10-13: mobil - ikona zarovnana k hornimu radku textu; stejny layout i v #sluzby (ikona vlevo, nadpis + seznam vpravo) */
@media (max-width: 700px) {
	#podminky .elementor-widget-icon-box .elementor-icon-box-wrapper {
		align-items: start;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-icon {
		align-self: start;
	}
	#podminky .elementor-widget-icon-box .elementor-icon-box-title {
		align-self: start;
	}

	#sluzby .box {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		align-items: start;
		gap: 8px 16px;
		padding: 18px 20px !important;
	}
	#sluzby .box > .elementor-widget-icon-box,
	#sluzby .box .elementor-icon-box-wrapper,
	#sluzby .box .elementor-icon-box-content {
		display: contents;
	}
	#sluzby .box .elementor-icon-box-icon {
		grid-column: 1;
		grid-row: 1 / span 2;
		align-self: start;
		margin: 0 !important;
	}
	#sluzby .box .elementor-icon {
		font-size: 42px !important;
		width: 42px;
		height: 42px;
		line-height: 42px;
	}
	#sluzby .box .elementor-icon svg {
		width: 42px;
		height: 42px;
	}
	#sluzby .box .elementor-icon-box-title {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
		margin: 0 !important;
	}
	#sluzby .box > .elementor-widget-text-editor {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0 !important;
	}
}

/* 2026-10-13: Galerie mobil - mensi uvodni text (byl 24px) */
@media (max-width: 700px) {
	#main-gallery .elementor-element-2354a39 p {
		font-size: 16px !important;
		line-height: 1.55 !important;
	}
	#main-gallery .elementor-element-2354a39 p:first-child {
		font-size: 18px !important;
		line-height: 1.45 !important;
	}
}

/* 2026-10-13: Galerie mobil - mensi horni odsazeni (bylo 200px; fixni hlavicka ma ~66px) */
@media (max-width: 700px) {
	#galerie-single {
		padding-top: 60px !important;
	}
}

/* 2026-10-13: Lokalita mobil - nadpis, text, az pak obrazek; mensi mezery a nadpisy */
@media (max-width: 767px) {
	#vypnete .cp-zigzag-row {
		gap: 14px !important;
		padding: 18px 0 !important;
	}
	#vypnete .cp-zigzag-row > .cp-zigzag-text {
		order: 1;
		padding: 0 !important;
		gap: 10px !important;
	}
	#vypnete .cp-zigzag-row > .cp-zigzag-img {
		order: 2;
		padding: 0 !important;
	}
	#vypnete .cp-zigzag-text .elementor-widget-heading .elementor-heading-title {
		font-size: 34px !important;
		line-height: 1.1 !important;
	}
	#vypnete > .e-con-inner > .e-con.padding-text {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
}

/* 2026-10-13: Lokalita mobil - animace fadeInLeft/fadeInRight (rt-1/2/3) zpusobovaly docasne horizontalni scrollovani; orez bez vytvoreni scroll kontejneru */
@media (max-width: 767px) {
	body.page-lokalita {
		overflow-x: clip;
	}
}

/* 2026-10-13: sekce #krasa (animace fadeInLeft/Right u rt-1/2/3) - orez na sekci, spolehlivejsi na iOS */
@media (max-width: 767px) {
	#krasa {
		overflow-x: clip;
	}
}

/* 2026-10-13: Menu (fullscreen) - Rezervace jako posledni polozka v tlacitku (styl jako bila hp tlacitka) */
.elementor-nav-menu--main ul.elementor-nav-menu.sm-vertical {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item.zemptat-se {
	order: 99;
	width: auto;
	margin-top: 22px;
}
.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item {
	display: inline-flex;
	width: auto;
	padding: 14px 32px 12px !important;
	background: #fff;
	color: #333 !important;
	font-size: 20px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 0;
	transition: background-color .25s ease, color .25s ease;
}
.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item:hover,
.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item:focus {
	background: #595850;
	color: #fff !important;
}

/* 2026-10-13: menu tlacitko Rezervace - zvyseni priority (Elementor generuje vlastni padding/font pro .elementor-item) */
.elementor-nav-menu--main .elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item.elementor-item-anchor {
	padding: 14px 30px 12px 30px !important;
	font-size: 18px !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px;
	color: #333 !important;
}
.elementor-nav-menu--main .elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item.elementor-item-anchor:hover,
.elementor-nav-menu--main .elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item.elementor-item-anchor:focus {
	color: #fff !important;
}

/* 2026-10-13: menu tlacitko Rezervace - prebiti pravidel popupu #elementor-popup-modal-55 z preview-styles.css */
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item {
	padding: 14px 30px 12px 30px !important;
	font-size: 18px !important;
	line-height: 1.2 !important;
}
@media (max-width: 767px) {
	body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu li.menu-item.zemptat-se > a.elementor-item {
		font-size: 18px !important;
	}
}

/* Kotva #roubenky (Vybrat chalupu): odsazeni pod fixni hlavickou, jinak ji nadpis sekce orizne */
#roubenky{scroll-margin-top:66px}
@media(min-width:1025px){#roubenky{scroll-margin-top:80px}}
