/* CSS Document */
/* CSS Document */
/* =============== resetovani css =============== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* =============== Hlavni =============== */

html {height: 100%; font-size: 62.5%; color:#646565; font-family: "Open Sans", sans-serif; font-weight: 400;
background-color: #d6d6d6;
    background-image: url("../images/bg.jpg");
    background-repeat: repeat;
    background-position: top center;
}
body {height: 100%; text-align: center; margin: 0; padding: 0;}

img { border:0; }
h1 {font-size: 2.4em; line-height: 150%; color: #272727;  font-weight: 900; /* margin-bottom: 1em;*/ /*margin-top: 1em;*/}
h2 {color: #272727; font-size: 2em; font-weight: 700; }
h3 {color: #272727;; font-size: 1.6em;  font-weight: 700; line-height: 150%; }
.hp h2 {color: #353535; font-size: 3em; text-transform: none;font-weight: 900;}

h1, h2, h3 { font-weight: 700;}
h2 span {color: #954444;}
nav.menu a {font-weight: 600;}

ol li { /*margin-bottom: 7px; margin-top:7px; font-size:16px; line-height: 20px;*/}
ul li {/*padding-left:15px; font-size: 14px; line-height: 28px;*/}
strong {font-weight:bold;}
b {font-weight: bold; color: #2d2d2e }
em {font-style:italic;}
p {margin-top: 1em; margin-bottom: 1em; font-size:1.4em; line-height: 120%;}
iframe {max-width: 100%; }

.cleaner {clear: both; height: 0; font-size: 0; visibility: hidden;}
.content {padding-left:7.083333333333333%; padding-right:7.083333333333333%;}
.vcontent {padding-top: 5em;  padding-bottom: 5em;}
.vcontent_top {padding-top: 5em;}
.vcontent_bottom {padding-bottom: 5em;}
.right {float:right;}
.left {float:left;}
.center {text-align: center;}

a:link, a:visited {color: #06799f;}
a:hover{color: #045e7c}

h2 a:link, h2 a:visited {color: #2e4b89; text-decoration: none;}
h3 a:link, h3 a:visited {color: #2e4b89; text-decoration: none;}
h2 a:hover {text-decoration: underline;}
h3 a:hover {text-decoration: underline;}

h2.nadpis-velky, h1 {color: #363636; font-size: 3em; width: 100%; margin: 0; padding: 0;}
/*h2.aktuality_name:after, h1:after {content: " "; display: inline-block; margin: 0 0 8px 20px; height: 3px; text-shadow: none; background-color: #e5e4e4; width: 70px;}
h2.aktuality_name:before, h1:before {content: " "; display: inline-block; margin: 0 20px 8px 0; height: 3px; text-shadow: none; background-color: #e5e4e4; width: 70px;}*/
.vyroba_figurek h2.nadpis-velky {text-align: center; margin-bottom: 1em;}

.wrap {/*obal*/ text-align: left; margin: 0 auto; background-color: white; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }
@media screen and (max-width: 1199px) {.wrap{width: 100%}}
@media screen and (min-width: 1200px) {.wrap{width: 1200px;}}

a.button1 {color:white; text-decoration: none; background-color:#195565; text-align:center; line-height: 250%;
    padding-top: 0.6em; padding-bottom: 0.6em; text-transform: uppercase;
    cursor: pointer;  padding-left: 1.7em; padding-right: 1.7em; font-weight: 400; }
a.button1:hover {background: #206c80; }

a.vice {font-size:0.8em; padding-right: 40px; background-image: url("../images/sipka.png"); background-repeat: no-repeat; background-position: center right 20px;}

button.button1 {color:white; text-decoration: none; background-color:#53a275; text-align:center; line-height: 250%;
    text-transform: uppercase; border: 0;margin-top: 2em;
    cursor: pointer;  padding-left: 1.7em; padding-right: 1.7em; font-weight: 600; }
button.button1:hover {background: #498d66; }

a.button {color:#00bb3f; text-decoration: none; background-color:transparent; border: 2px solid #00bb3f; text-align:center; line-height: 250%;
    padding-top: 0.8em; padding-bottom: 0.8em; text-transform: uppercase;
    cursor: pointer;  padding-left: 1.7em; padding-right: 1.7em; font-weight: 600; }
a.button:hover {border: 2px solid #007227; color: #007227; }

a.sipka {display: block; padding-left: 15px; background-image: url("../images/icons/sipka.png"); background-repeat: no-repeat; background-position: left; color: #00a3ff; text-decoration: underline;}
a.icon-news {padding-left: 25px; background-image: url("../images/icons/novinky.png"); background-repeat: no-repeat; background-position: left; }


.top {background-color: #13111d; color:#e5e4e4;}
.top  p {font-size: 1.4em;}
.top  a {color: #e5e4e4;}
#header .top .right {width: 50%; text-align: right;}
#header .top .left {width: 50%;text-align: left;}

#contactform input[type=submit] {color:white!important;  background-color:#195565!important;}
#contactform input[type=submit]:hover {background: #206c80!important;  }
.blok.contactform {background-image: url("../images/kontakt-bg1.jpg"); background-repeat: no-repeat; background-position: bottom right; background-color: #ececec!important; background-size: contain;}
.blok a:link, .blok a:visited {color: #4c9db8;}
.blok a:hover{color: #2a87a6}
.form1 input[type=submit]{ color:white!important;  background-color:#195565!important;  text-transform: uppercase!important; }
.form1 input[type=submit]:hover {background: #206c80!important; }

.page {background-color: white!important; }
.page.news_all_inline {background-color: #eee7e8!important; background-image: none!important; }
.blok {background-color: #f8f8f8!important;}
.galerie.blok {background-color: white!important;}
.galerie ul li p {margin-bottom: 0!important;}
#footer {background-color: #343333!important; color: #b2b2b2!important;  border-top: none!important;}
#footer ul li header, #footer ul li header a {color: white!important;}
#footer ul li ul li a, #footer ul li ul li  {color: #b2b2b2!important; }
.webdesign {background-color: #2d2d2d!important;  border-top: none!important; }
.webdesign, .webdesign a {color: #b2b2b2!important; text-decoration: none!important; }

.shadow { box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.09);}
.ramecek {border: 1px solid #edefef;}

span.quoted {
    font-family: Georgia;
    font-size: 1.6em;
    display: block;
    margin: 14px 0 0 0;
    font-style: italic;
    line-height: 150%;
}
span.quoted:before {
    content: "“";
    font-size: 40px;
    color: #999;
    line-height: 0;
    display: inline-block;
    margin: 0 6px 0 0;
    }
span.quoted:after {
    content: " ”";
    font-size: 40px;
    color: #999;
    line-height: 0;
    display: inline-block;
    margin: 0 0 0 4px;
    position: relative;
   }
.citace p {margin-top: 3em!important; margin-bottom: 3em!important;}
#header { padding: 0; text-align: center; min-height: 35px; background-color: white; position: relative; }
#header img {margin: 0; padding: 0; }
#header .logo {text-align: center;}
#header #menu {text-align: center; margin-top: 15px;}
#header .navigace {position: relative; text-align: left;}
#header .left {width: 15%; text-align: left; }
#header .right {width: 85%; text-align: right;}

.stranka {text-align: right; position: absolute; left: -340px; width: 200px; bottom: 0;}

.logonav {position: relative; padding-top: 15px;}
.logonav .right p {color: #8e979d; font-weight: 600; font-size: 1.4em; text-transform: uppercase;}

#header .logonav  a {display: block; height: auto;}

#header .blok_nav #menu {text-align: left;}



.top {background-color: #53a275; color:black;}
.top  p {font-size: 1.4em;}
.top  a {color: black;}
#header .top .right {width: 50%; text-align: right;}
#header .top .left {width: 50%;text-align: left;}

.slide-polovina {background-color: #ececec; }
.slide-polovina .left {width: 50%;padding-top: 4em;}
.slide-polovina .right {width: 50%; line-height: 0;}
.slide-polovina h2 {font-size: 7.2em; font-weight: 900; color: #195565; text-transform: none; line-height: 100%;}
.slide-polovina h3 {font-size: 7.2em; font-weight: 400; color: #f4b67d; text-transform: none; line-height: 100%}
.slide-polovina h3 span {font-size: 0.3em;}
.slide-polovina p {font-size: 1.6em; color: #272727;}
.slide-polovina .content {padding-left: 14%; padding-right: 14%;}

@media screen and (min-width: 760px) and  ( max-width: 1024px) {
    .blok_nav {min-height: 100px;}
}
@media print {
    #header {display: none!important;}
    button.button1 {display: none!important;}
    html {color: #000000!important;}
    .wrap {box-shadow: none;}
    h1, h2, h3, h4 {color: #000000!important;}
}

ul.podstranky {}

ul.box {list-style-type: none;}
ul.box li {float: left; display: inline-block; margin-top: 0;}
ul.box li.ramecek {float: left; display: inline-block; margin-top: 3%;}
ul.box li img {max-width: 100%;}

ul.box-2 li { width: 46%; padding:2%; margin-left: 0;}
ul.box-2 li.ramecek { width: 42%; padding:3%; margin-left: 3%;}
ul.box-2 li:nth-child(1n){}
ul.box-2 li:nth-child(2n+1){clear: both; margin-left: 0;}
ul.box-2 li:nth-child(2n){margin-right: 0;}
ul.box-2 li:first-child{}

ul.box-3 li { width: 30.6%; margin:2%;}
ul.box-3 li.ramecek { width: 24%; padding:3%; margin-left: 1%;}
ul.box-3 li:nth-child(1n){}
ul.box-3 li:nth-child(3n+1){clear: both; margin-left: 0;}
ul.box-3 li:nth-child(3n){margin-right: 0;}
ul.box-3 li:first-child{}

ul.box-4 li { width: 21%; padding:2%; margin-left: 0;}
ul.box-4 li.ramecek { width: 19%; padding:2%; margin-left: 2%;}
ul.box-4 li:nth-child(1n){}
ul.box-4 li:nth-child(4n+1){clear: both; margin-left: 0;}
ul.box-4 li:nth-child(4n){margin-right: 0;}
ul.box-4 li:first-child{}

ul.box-5 li { width: 16%; padding:2%; margin-left: 0;}
ul.box-5 li.ramecek { width: 15%; padding:2%; margin-left: 2%;}
ul.box-5 li:nth-child(1n){}
ul.box-5 li:nth-child(5n+1){clear: both; margin-left: 0;}
ul.box-5 li:nth-child(5n){margin-right: 0;}
ul.box-5 li:first-child{}

ul.box-6 li { width: 12.6%; padding:2%; margin-left: 0;}
ul.box-6 li.ramecek { width: 12.6%; padding:2%; margin-left: 2%;}
ul.box-6 li:nth-child(1n){}
ul.box-6 li:nth-child(6n+1){clear: both; margin-left: 0;}
ul.box-6 li:nth-child(6n){margin-right: 0;}
ul.box-6 li:first-child{}


@media screen and (max-width: 800px){
    ul.box-3 li { width: 48%; margin: 2%;}
    ul.box-3 li.ramecek { width: 42%; padding:3%; margin-left: 3%;}
    ul.box-3 li:nth-child(1n){margin-left: 0;}
    ul.box-3 li:nth-child(3n){clear: both; margin-left: 0;}
    ul.box-3 li:nth-child(3n+1){clear: none; }
    ul.box-3 li:nth-child(2n){margin-right: 0;margin-left: 2%;clear: none; }
    ul.box-3 li:first-child{}
    ul.box-3 li:last-child{clear: none;}
}

@media screen and (max-width: 480px){
    ul.box-3 li { width: 93%; padding:3%; margin: 0; float: none; clear: both; margin-bottom: 2em;}
    ul.box-3 li.ramecek { width: 93%; padding:3%; margin: 0; float: none; clear: both; margin-bottom: 2em;}
    ul.box-3 li:nth-child(2n){margin-left:0; }
}

@media screen and (max-width: 800px){
    ul.box-6 li { width: 27%; margin: 2%;}
    ul.box-6 li.ramecek { width: 42%; padding:3%; margin-left: 3%;}
    ul.box-6 li:nth-child(1n){margin-left: 0;}
    ul.box-6 li:nth-child(3n){clear: both; margin-left: 0;}
    ul.box-6 li:nth-child(3n+1){clear: none; }
    ul.box-6 li:nth-child(3n){margin-right: 0;margin-left: 2%;clear: none; }
    ul.box-6 li:first-child{}
    ul.box-6 li:last-child{clear: none;}
}

@media screen and (max-width: 600px){
    ul.box-6 li { width: 27%; margin: 2%;}
    ul.box-6 li.ramecek { width: 42%; padding:3%; margin-left: 3%;}
    ul.box-6 li:nth-child(1n){margin-left: 0;}
    ul.box-6 li:nth-child(2n){clear: both; margin-left: 0;}
    ul.box-6 li:nth-child(2n+1){clear: none; }
    ul.box-6 li:nth-child(2n){margin-right: 0;margin-left: 2%;clear: none; }
    ul.box-6 li:first-child{}
    ul.box-6 li:last-child{clear: none;}
}

@media screen and (max-width: 480px){
    ul.box-6 li { width: 93%; padding:3%; margin: 0; float: none; clear: both; margin-bottom: 2em;}
    ul.box-6 li.ramecek { width: 93%; padding:3%; margin: 0; float: none; clear: both; margin-bottom: 2em;}
    ul.box-6 li:nth-child(2n){margin-left:0; }
}



.products {background-color: #ececec;}
.products ul {margin-top: 3em;}
.products ul.box-3 li.ramecek {margin-top: 0; margin-bottom: 3%; background-color: white; min-height: 234px;}
.products li  h2 {color: #195565; font-size: 1.6em; margin-top: 1em;}
.products li  h2 a {color: #195565; }
.products li  image {max-width: 100%; height: auto; line-height: 0;}
.products ul li p {color: #000000; margin-bottom: 0;}

.slider_cycle img {max-width: 100%; height: auto;}
.slide_cycle img {max-width: 100%; height: auto;}
.slide_cycle {line-height: 0;}
.slider_cycle {line-height: 0;}
#s6 {position: relative; overflow: hidden;}


.pics {height: 346px; width: 591px; padding: 0; margin: 0; max-width: 100%;}
.pics img {/*max-width: 100%!important;*/ overflow: hidden;}



@media print {
    .slider {display: none!important;}
}


@media screen and (max-width: 400px){
    .top img {max-width: 100%;}
}

.text-blok {padding-top: 1em;}

@media screen and (max-width: 600px) {
    #header .logo {width: 100%; margin-bottom: 2em; }
}

@media screen and (max-width: 600px) {
    #header .logo {width: 100%; margin-bottom: 2em; }
}

.page {width: 100%; background-color: #f6f4e3; }
.page p {margin-top: 1em; margin-bottom: 1em; padding: 0; line-height: 150%;}
.page h2 {margin-top: 2em; margin-bottom: 1em;}
.page .left {width: 48%;}
.page .right {width: 48%;text-align: left; min-height: 400px;}
.np .page .left {width: 43%;}
.np .page .right {width: 53%; text-align: right; min-height: auto;}
.page .obr img{ max-width: 100%; height: auto;}
.page .right.obr {text-align: right; width: 45%; padding-top: 2em;}
.page .left.obr {text-align: left; width: 45%; padding-top: 2em;}
.page-text {}
.obr1 {padding: 3%; border: 1px solid #cac7c7;/* background-color: #ffffff;*/}
.page .page-text p {font-size: 1.4em;}
.page .page-text a {/*text-decoration: none;*/}
.page-text ul {/*list-style-type: disc;*/ margin-top: 1em; margin-bottom: 1em;}
.page-text ul li{list-style-type: disc; margin-left: 25px; line-height: 150%; font-size: 1.4em; /*background-image: url("../images/odrazka.png"); background-repeat: no-repeat; background-position: top 7px left;*/ /* margin-bottom: 1em; }*/}
.page-text ol {list-style-type: decimal; margin-top: 1em; margin-bottom: 1em;}
.page-text ol li{margin-left: 40px; line-height: 150%; font-size: 1.4em; }
.page-text ul li.noli p {font-size:1em;}
.page-text ul li.noli {list-style-type: none;}
.page-text img {max-width:100%;height:auto;}
.page .page-text table tbody td p {margin: 0; padding: 0; font-size: 1em; line-height: 21px;}
.page table tbody td {padding:5px;}
.page table.tab1 tbody td {border: 1px solid #d1d2cd;padding:5px;}
.page table tbody td, .table_1 thead th {font-size: 1.4em; }
.page table tbody td a:link {font-size: 1em;}
.page table tbody td a.download:link {margin: 0; padding: 0; font-size: 0;}
.page table tbody td ul li {font-size: 1em;}
.page table img {max-width:100%;height:auto;}

.datum {color: #989999;padding-bottom: 0.5em; font-weight: 600; font-size: 1.2em;}
.blok_border {border: 1px solid #d6dde2; background-color: white; margin-bottom: 2em;}
.blok_border.content {padding-left: 3em; padding-right: 3em;}
.blok_border.vcontent {padding-top: 3em; padding-bottom: 3em;}
.blok_border h2 {margin-top: 0;}
.akce.blok_border {background-color: #fffbf2}
.akce p {margin-top: 0;}
.right .blok_border p {margin-top: 0;}
.akce ul {margin-top: 1em; margin-bottom: 1em;}
.akce .datum {display: inline-block; float: left; width: 45px; padding: 10px; background-color: #7da76a; color: white; font-size: 1.2em; font-weight: 400;}
.akce .text_akce {display: inline-block; float: right; width: 85%;}
.akce .datum span {font-size: 2.4em; font-weight: 600; display: block;}
.aktivity h3 {margin-bottom: 1em;}
.zpravy ul li {margin-bottom: 3em;}

@media print {
    .page .right {display: none!important;}
    .page .left {width: 100%; float: none;}
    .page {background-color: white;}
}

.blok1 {background-color: white; }
.blok2 { background-color:white; }
.blok1 .left {width: 38%;}
.blok1 .right {width: 62%; min-height: 350px; background-image: url("../images/bg-blok1.jpg"); background-repeat: no-repeat; background-size: cover;}
.blok2 .left {width: 62%; min-height: 350px; background-image: url("../images/bg-blok2.jpg"); background-repeat: no-repeat; background-size: cover;}
.blok2 .right {width: 38%;}
.bloka .left {background-image: url("../images/bg-blok1a.jpg");}
@media screen and (max-width: 600px) {
    .blok1 .left, .blok1 .right {width: 100%;float: none;}
    .blok2 .left, .blok2 .right {width: 100%;float: none;}
}

.socialni_site p{width: 25%; float: left; font-weight: 600; line-height: 38px;}
.socialni_site ul {width: 75%; float: left; font-size: 1.4em; margin-bottom: 1em; margin-top: 1em;}
.socialni_site ul li {width: 38px; float: left; padding-right: 20px; height: 38px;}

.icons {background-color: #f8f8f8;}
.icons li{ float: left; text-align: center; display: inline-block; width: 21%;/* padding-left: 2%; padding-right: 2%;*/}
.icons li img {max-width: 100%; height: auto;}
.icons li h3 {color: #171717; font-weight: 400; font-size: 1.4em; }

.partneri h2 {margin-bottom: 2em;}

.podpis {
    /*font-family: "lamar-pen", sans-serif;*/
    font-weight: 400;
    font-style: normal;
    font-size: 3em;
}

@media screen and (max-width: 600px) {
    .icons li, .restaurace ul li {width: 100%; display: block; clear: both; float: none; }
    .osvedceni ul li {width: 100%; display: block; clear: both; float: none; }

}
@media screen and (max-width: 400px) {
    /*.icons li {width: 96%; float: none; }*/
}



.hp .news_all_inline {background-color: #f9f9f9!important; background-image: none; }
.hp .news_all_inline ul {margin-bottom: 4em; }
.hp .news_all_inline ul li  {background-color: white;}

.news_all_inline h2 {margin-top: 0; margin-bottom: 0;}
.news_all_inline a h2 {color: #302e2f; font-size: 1.4em;  font-weight: 900; text-transform: uppercase; margin-top: 1em; margin-bottom: 0.5em;}
.news_all_inline ul li a {text-decoration: none;}


.news {/*background-color: #e8d5a0; */padding: 3em; margin-left: 5em; border: 10px solid #edefef; margin-top: 1.5em;}
.news h2 {color: #da251c; font-family: 'Oswald', sans-serif; font-weight: 700; margin-top: 0; font-size: 1.8em; text-transform: uppercase; text-align: center; border-bottom: 1px solid;}
.news h3 {color: #1f1f1f; font-size: 1.4em; font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase;}
.news p {color: #1f1f1f; font-size: 1.2em; }
.news img {margin-top: 1em;}

.aktuality .ramecek, .karty .ramecek {background-color: #ffffff;}
.page .aktuality h2, .page .karty h2 {margin-top: 0;}

@media screen and (max-width: 600px) {
    .page .left, .page .right, .np .page .left, .np .page .right {float: none; width: 100%;}
    .page .right .news {max-width: 230px;}
}

@media screen and (max-width: 768px) {
    .hp .page .left, .hp .page .right {float: none; width: 100%;}
    .hp .page .right .news {max-width: 230px; margin: auto;}
}

/*
.galerie ul {list-style-type: none; margin-bottom: 0;}
.galerie ul li {float: left; display: inline-block; width: 23.5%; padding:1%;}
.galerie ul li:nth-child(1n){}
.galerie ul li:nth-child(4n+1){clear: both; padding-left: 0;}
.galerie ul li:nth-child(4n){padding-right: 0;}
.galerie ul li:first-child{padding-left: 3%;}
*/

.galerie .box li {background-color: white;}

.galerie h1, .galerie h2 {margin: 0;}
.galerie_filtr {list-style-type: none;}
.galerie_filtr li {float: left; display: inline-block; padding-right: 15px;}

/*
.page a:link, .page a:visited {font-size: 1em;}
.page a:hover {}
.page .left a:link, .page .right a:link {font-size: 1em;}
.page ul {list-style-type: decimal; margin-left: 3%;}
.page ol {list-style-type: disc; margin-left: 4%;}
.page ul li {font-size: 1.4em; line-height: 150%; padding-left: 1%;}
.page ul li ol li {font-size: 1em; padding-left: 1%;}*/

.seznam  {list-style-type: none;}
.seznam  li {width: 94%; margin-bottom: 2em; margin-top: 2em; padding: 3%; border:  1px solid #d6dde2; background-color: white; position: relative;}
.seznam li img {max-width: 120px; height: auto;}
.seznam li footer {position: absolute; bottom: 0; right: 20px; text-align: right;}
.seznam li footer a {display: block; height: 37px; padding-left: 55px; background-image: url("../images/detail-icon2.png"); background-repeat: no-repeat; background-position: top left; margin-top: 0; margin-bottom: 0; padding-top: 20px; }


.jcarousel_none {display: none;}
.jcarousel-wrapper {position: relative;/* padding-left: 5em; padding-right: 5em; margin-left: 5em; margin-right: 5em; margin-bottom: 3em;*/}
@media screen and (max-width: 599px) {
    .jcarousel-wrapper {display: none;}
}
/*
This is the visible area of you carousel.
Set a width here to define how much items are visible.
The width can be either fixed in px or flexible in %.
Position must be relative!
*/
.jcarousel {
    position: relative;
    overflow: hidden;
    /*margin-left: 4em;*/
}

/*
This is the container of the carousel items.
You must ensure that the position is relative or absolute and
that the width is big enough to contain all items.
*/
.jcarousel ul {
    width: 20000em;
    position: relative;

    /* Optional, required in this case since it's a <ul> element */
    list-style: none;
    margin: 0;
    padding: 0;
}

/*
These are the item elements. jCarousel works best, if the items
have a fixed width and height (but it's not required).
*/
.jcarousel li {
    /* Required only for block elements like <li>'s */
    float: left;
    width: 100%!important;
    max-width: 588px;


}

.jcarousel img {
    display: block;
    max-width: 100%;
    height: auto !important;
   /* border: 3px solid #a3a5a6;*/
}
.jcarousel p {width: 180px; text-align: center;}

/** Carousel Controls **/

.jcarousel-control-prev,
.jcarousel-control-next {
    position: absolute;
    /* top: 50%;*/
    top: 36%;
    margin-top: -15px;
    width: 30px;
    height: 30px;
    text-align: center;
    background: #00387b;
    color: #fff;
    text-decoration: none;
    /* text-shadow: 0 0 1px #000;*/
    font: 24px/27px Arial, sans-serif;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    /*  -webkit-box-shadow: 0 0 4px #F0EFE7;
      -moz-box-shadow: 0 0 4px #F0EFE7;
      box-shadow: 0 0 4px #F0EFE7;*/
}
a.jcarousel-control-prev,
a.jcarousel-control-next {color: white;}

.jcarousel-control-prev {
    left: 15px;
}

.jcarousel-control-next {
    right: 15px;
}

/** Carousel Pagination **/

.jcarousel-pagination {
    position: absolute;
    bottom: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    margin: 0;
}

.jcarousel-pagination a {
    text-decoration: none;
    display: inline-block;

    font-size: 11px;
    height: 10px;
    width: 10px;
    line-height: 10px;

    background: #fff;
    color: #4E443C;
    border-radius: 10px;
    text-indent: -9999px;

    margin-right: 7px;


    -webkit-box-shadow: 0 0 2px #4E443C;
    -moz-box-shadow: 0 0 2px #4E443C;
    box-shadow: 0 0 2px #4E443C;
}

.jcarousel-pagination a.active {
    background: #2ca343;
    color: #fff;
    opacity: 1;

    -webkit-box-shadow: 0 0 2px #F0EFE7;
    -moz-box-shadow: 0 0 2px #F0EFE7;
    box-shadow: 0 0 2px #F0EFE7;
}

@media screen and (max-width: 600px) {
    .jcarousel_none {display: block;}
    .jcarousel_none img {max-width: 100%; height: auto;}
    .jcarousel_none li {margin-bottom: 3em;}
}


.form1 {margin-top: 20px; margin-bottom: 20px;}
.form1 input:not([type=submit]){ font-size: 1.4em; line-height: 150%;  width: 100%; margin-bottom: 14px; padding-left: 5px; color:#828282;}
.form1 select {font-size: 1.4em; line-height: 150%; padding-left: 5px; margin-bottom: 14px; height: 28px; color:#828282; }
.form1 textarea {width: 100%; height: 200px; margin-bottom: 22px;}
.form1 label {font-size: 1.4em; line-height: 150%; padding-right: 10px;}
.form1 input[type=submit]{ color:#ffffff; text-decoration: none; background-color:#e56f38;  text-align:center; line-height: 250%;
    text-transform: uppercase; cursor: pointer; border: 0; padding-left: 1.5em; padding-right: 1.5em;}
.form1 input[type=submit]:hover {background: #69696b; }
.form1 input[type=checkbox]{width: auto;}
.form1 input[type=file]{font-size: 1em;}
.form1 table {width: 100%;}
.form1 table th {vertical-align: top;}


#contactform {text-align: left;}
#contactform form {margin-top: 3em;}
#contactform form input {font-family: 'Open Sans', sans-serif;}
#contactform form input:not([type=submit]){ background-color: transparent; border: 1px solid #919294; padding: 1%; }
#contactform form input[type=text]{ font-size: 1.4em;  line-height: 150%; margin-bottom: 0.7em; color: #2d2d2e; width: 98% ;}
#contactform form select{ background-color: transparent; border: 1px solid #919294; padding: 1%; font-size: 1.4em;  line-height: 120%; margin-bottom: 0.7em; color: #2d2d2e; width: 92% ;}
#contactform form input.cc{display: none;}
#contactform textarea {height: 6.5em; width: 98%; border: 1px solid #919294; padding: 1%; font-size: 1.4em; font-family: 'Roboto', sans-serif;
    margin-bottom: 2em; background-color: transparent;}
#contactform input[type=submit] {color:white; font-weight: 400; text-decoration: none; background-color:#299898;  text-align:center; line-height: 240%;
    text-transform: none; cursor: pointer; border: 0; padding-left: 1.9em; padding-right: 1.9em;margin: auto; font-size: 1.6em;}
#contactform input[type=submit]:hover {background: #056F6F;  }
#contactform a:link, #contactform a:visited {text-decoration: none;}
#contactform a:hover {text-decoration: underline;}
#contactform h2 {margin: 0; line-height: 100%; text-transform: uppercase;color: #2d2d2e; margin-bottom: 1em;}
#contactform p { }
#contactform table {width: 100%;}
#contactform table td {vertical-align: top; width: 60%;}
#contactform .left {width: 48%; text-align: left;}
#contactform .right {width: 48%; text-align: left;}
#contactform .label {padding-right: 10px; font-size: 1.4em;}
#contactform td.label {width: 20%}
#contactform form .dd input[type=text]{visibility: hidden; height: 0; font-size:0; margin-bottom: 0; }
#contactform form .dd input:not([type=submit]){padding: 0; }
#contactform form .dd td {color: transparent;}

@media screen and (max-width: 600px) {
    #contactform .left {width: 100%;float:none;}
    #contactform .right {width: 100%; float: none;}
}

#footer {width: 100%; background-color: #d9d9d9; color: #505050; position: relative; border-top: 1px solid #d6dde2;}
#footer ul li {display: block; float: left; width: 50%; line-height: 150%;}
#footer ul.count2 li{width: 50%;}
#footer ul.count3 li{width: 33%;}
#footer ul.count4 li{width: 25%;}
#footer ul li ul li {display: block; float: none; width: 100%; }
#footer ul.count2 li ul li {width: 100%;}
#footer ul.count3 li ul li {width: 100%;}
#footer ul.count4 li ul li {width: 100%;}
#footer ul li ul li {display: block; float: none; width: 100%; }
#footer ul li header, #footer ul li header a {color: #313232; font-size: 1.2em; text-transform: uppercase;  padding-bottom: 1em;
    text-decoration: none; font-weight: 600;}
#footer ul li ul li a, #footer ul li ul li  {color: #505050; font-size: 1.4em; text-decoration: none; font-weight: 400;}
#footer ul li ul li a {font-size: 1em;}
#footer ul li ul li a:hover {text-decoration: underline;}
#footer ul.logo_bottom {background-image: url("../images/logo-bottom.png");background-repeat: no-repeat; background-position: right bottom;}


@media screen and (max-width: 600px) {

    #footer ul li {width:100%; text-align: center; margin-bottom: 2em;}
    #footer ul.count2 li{width:100%;}
    #footer ul.count3 li{width:100%;}
    #footer ul.count4 li{width:100%;}
}




.webdesign {width: 100%; padding-top: 2em; padding-bottom: 2em; background-color: #d9d9d9; text-align: left; border-top: 1px solid #eaeae9; }
.webdesign, .webdesign a {color: #505050; text-decoration: none; }
.webdesign p { margin: 0;font-size: 1.4em;}

@media print {
    #footer {display: none!important;}
    .webdesign {display: none!important;}
    #contactform {display: none!important;}
}



.table_1{width: 100%;}
.table_1 tbody tr:hover {background: #ddd;}
.table_1{ border: none; border-collapse:collapse;}
.table_1 thead tr { border-bottom: 1px solid #c2c1c1; background: #c2c1c1; }
.table_1 thead th { border: 1px solid #999; padding: 10px; height: 25px; white-space: nowrap; line-height: 150%; }
.table_1{ border: none; border-collapse:collapse;}
.table_1 tbody tr { border-bottom: 1px solid #c2c1c1; cursor: pointer; }
.table_1 tbody td { border: 1px solid #c2c1c1; text-align:left; padding: 10px; vertical-align: middle; }
.table_1 tbody td.top {vertical-align: text-top;}
.table_1 tbody td p {margin: 0; padding: 0; font-size: 1.4em; line-height: 21px;}
.table_1 tbody td, .table_1 thead th {font-size: 1.4em; }
.table_1 tbody td a:link {font-size: 1em;}
.table_1 tbody td a.download:link {margin: 0; padding: 0; font-size: 0;}

/* =============== flashMessage =============== */
#flashmessage {color: black; background: #a09f43;}
div.flash { color: black; text-align: center; width: 100%; font-size: 1.4em; line-height: 150%; padding-top: 1em; padding-bottom: 1em;}

/* =============== KONEC flashMessage =============== */

@media print
{
    .noprint {display:none;}
}



.pagination { border:0; margin:0; padding:0;text-align:center; margin-top: 4em;}
.pagination li { border:0; display: inline-block;margin:0; padding:0;font-size:11px;list-style:none;margin-right:2px;}
.pagination li a { border:solid 1px #f14b3e; background-color:white; }
.pagination li.active a { background:#f14b3e;color:#FFFFFF;/*font-weight:bold;*/}
.pagination .previous-off,
.pagination .next-off, .pagination li.disabled a { border:solid 1px #DEDEDE;color:#888888; background-color:white;/*font-weight:bold*/;margin-right:2px;padding:3px 4px; }
.pagination li.disabled a {display:block;padding:3px 6px;text-decoration:none;}
.pagination .next a,
.pagination .previous a{ /*font-weight:bold;*/}
.pagination a:link,
.pagination a:visited { color:#f14b3e;display:block;padding:3px 6px;text-decoration:none;}
.pagination a:hover{ border:solid 1px #f14b3e;}

.page .pagination li {line-height: 100%; padding-left: 0;}

/* =========================
   TopStyl – new nav system
   works with:
   .nav .nav__menu .nav__item .nav__link
   .nav__submenu (nested ul)
   .has-submenu, .is-active, .is-open
   ========================= */
/* =========================
   HEADER layout (TopStyl)
========================= */

#header {
    background: #fff;
    text-align: center;
    padding: 0;
}


#header .logonav a {
    display: inline-block;
}

#header img {
    display: block;
    max-width: 220px;      /* uprav podle potřeby */
    height: auto;
    margin: 0 auto;
}

/* stránka vlevo mimo wrap (necháme, jen drobný tuning) */
.stranka {
    text-align: right;
    position: absolute;
    left: -340px;
    width: 200px;
    bottom: 10px;
    opacity: .9;
}

/* reset starých věcí, které ti rozhazují menu */
#header #menu { margin-top: 0; }
#header .navigace { text-align: center; }
#header .left, #header .right { width: auto; text-align: inherit; }

/* =========================
   NAV wrappers (2 lišty)
========================= */

.nav--primary,
.nav--offers {
    width: 100%;
}

/* jemná linka mezi logem a primary menu */
.nav--primary {
   /* border-top: 1px solid rgba(0,0,0,.06);*/
    padding: 4px 0;
}

/* “offers” jako výraznější blok */
.nav--offers {
    margin-top: 0;
    padding: 14px 0 12px;
    background: rgba(149, 68, 68, 0.06);
    border-top: 1px solid rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.nav--offers .nav__title {
    text-align: center;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(0,0,0,.55);
    margin-bottom: 10px;
    font-size: 12px;
}

/* =========================
   NAV shared (menu.latte)
   (nav__menu / nav__submenu / subtoggle)
========================= */

.nav__menu,
.nav__submenu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav__menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 22px;
}

.nav__item { position: relative; }

.nav__row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* PRIMARY: vínová */
.nav--primary .nav__link,
.nav--primary .nav__subtoggle {
    color: #954444;
}

/* OFFERS: klidně jiný akcent (teď tlumená “petrolej”) */
.nav--offers .nav__link,
.nav--offers .nav__subtoggle {
    color: #0b5f78;
}

.nav__link {
    display: inline-block;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.15;
    font-size: 1.2em;
    padding: 12px 2px 10px;
    border-bottom: 2px solid transparent;
    transition: transform .12s ease, border-color .12s ease, opacity .12s ease;
}

.nav__link:hover {
    border-bottom-color: currentColor;
    transform: translateY(-1px);
}

/* caret button */
.nav__subtoggle {
    width: 22px;
    height: 22px;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
    border-radius: 999px;
    opacity: .55;
}
.nav__subtoggle:hover { opacity: 1; }

.nav__subtoggle::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

/* submenu (desktop dropdown) */
.nav__submenu {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    min-width: 260px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,.10);
    padding: 10px;
    z-index: 1000;
}

/* položky v submenu jako “řádky” */
.nav__submenu .nav__item { width: 100%; }
.nav__submenu .nav__row {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.nav__submenu .nav__link {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
    padding: 10px 10px;
    border-bottom: 0;
    width: 100%;
}

/* 3. úroveň jako flyout doprava */
.nav__submenu .has-submenu > .nav__submenu {
    top: 0;
    left: calc(100% + 10px);
}

/* aktivní větev */
.nav__item.is-active > .nav__row > .nav__link {
    border-bottom-color: currentColor;
}

/* desktop hover */
@media (min-width: 901px) {
    .nav__item.has-submenu:hover > .nav__submenu {
        display: block;
    }
}

/* =========================
   Mobile: stacked + click
========================= */
@media (max-width: 900px) {
    .nav__menu {
        justify-content: flex-start;
        gap: 10px;
        padding: 0 14px;
    }

    /* submenu na mobilu jako vnořený blok */
    .nav__submenu {
        position: static;
        box-shadow: none;
        border-radius: 12px;
        margin: 6px 0 10px;
        padding: 6px;
    }

    /* 3. úroveň už ne flyout */
    .nav__submenu .has-submenu > .nav__submenu {
        left: 0;
    }

    /* caret při otevření nahoru */
    .nav__item.is-open > .nav__row > .nav__subtoggle::before {
        transform: rotate(-135deg);
    }
}

/* klikové otevření (JS přidá .is-open) */
.nav__item.is-open > .nav__submenu {
    display: block;
}

/* ===== Offers: víc samostatný blok (vínový minimal) ===== */

.nav--offers{
    background: linear-gradient(180deg, rgba(149,68,68,.08), rgba(149,68,68,.04));
    border-top: 1px solid rgba(149,68,68,.16);
    border-bottom: 1px solid rgba(149,68,68,.12);
    padding: 18px 0 16px;
    margin-top: 6px;
}

.nav--offers .nav__title{
    color: rgba(149,68,68,.85);
    font-weight: 800;
    letter-spacing: .16em;
    font-size: 12px;
    margin-bottom: 12px;
}

/* nabídka jako “chips/pills” */
.nav--offers .nav__menu{
    gap: 10px 12px;
    padding: 0 18px;
}

.nav--offers .nav__link{
    color: #954444;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .06em;
    font-size: 12px;
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(149,68,68,.22);
    background: rgba(255,255,255,.65);
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(149,68,68,.22); /* přepíše “underline” styl */
}

.nav--offers .nav__link:hover{
    transform: translateY(-1px);
    border-color: rgba(149,68,68,.35);
}

/* caret tlačítka u offers držme jemná */
.nav--offers .nav__subtoggle{
    opacity: .9;
}

/* ===== Header spacing + logo sizing (aby se nehádalo s menu) ===== */

/* logo nechte dýchat */
.logonav{
    padding-top: 18px;
    padding-bottom: 18px;
}

/* omezí výšku loga (hlavně když je znak + text) */
#header .logonav img{
    max-width: 240px;    /* klidně 220–280 dle reálu */
    max-height: 90px;    /* důležité: udrží “optickou výšku” */
    width: auto;
    height: auto;
}

/* primary menu od loga o kousek dál */
.nav--primary{
    padding: 10px 0 6px;
   /* border-top: 1px solid rgba(0,0,0,.06);*/
}

/* když je potřeba, aby se primary menu drželo “výš” a nepůsobilo nalepeně */
.nav--primary .nav__menu{
    padding: 0 18px;
}

/* na menších šířkách logo ještě zmenši a přidej odskok */
@media (max-width: 900px){
    #header .logonav img{
        max-width: 200px;
        max-height: 70px;
    }
    .logonav{
        padding-top: 14px;
        padding-bottom: 10px;
    }
}

/* ===== submenu: vždy řádkový styl (i v offers) ===== */
.nav__submenu .nav__link{
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    box-shadow: none !important;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

/* hover v submenu – jemné zvýraznění */
.nav__submenu .nav__link:hover{
    background: rgba(149,68,68,.06) !important;
    transform: none;
}

/* místo 10px dejme menší offset, ideálně 2–4px */
.nav__submenu{
    top: calc(100% + 3px);
}

/* ===== hover bridge: udrží hover mezi položkou a submenu ===== */
.nav__item.has-submenu > .nav__submenu::before{
    content:"";
    position:absolute;
    left: 0;
    top: -10px;      /* sahá nahoru k rodiči */
    height: 10px;    /* most */
    width: 100%;
}
/* ===== hover bridge: udrží hover mezi položkou a submenu ===== */
.nav__item.has-submenu > .nav__submenu::before{
    content:"";
    position:absolute;
    left: 0;
    top: -10px;      /* sahá nahoru k rodiči */
    height: 10px;    /* most */
    width: 100%;
}

/* ===== zarovnání řádku: šipka hned za textem ===== */
.nav__row{
    justify-content: flex-start;
    gap: 8px;
}

/* a link ať zabere zbytek šířky (proklik velký) */
.nav__row .nav__link{
    flex: 1 1 auto;
    text-align: left;
}

/* ===== offers: decentnější caret ===== */
.nav--offers .nav__subtoggle{
    opacity: .45;
}

.nav--offers .nav__subtoggle:hover{
    opacity: .7;
}

/* a klidně i tenčí/menší jen v offers */
.nav--offers .nav__subtoggle::before{
    width: 6px;
    height: 6px;
    border-right-width: 1.25px;
    border-bottom-width: 1.25px;
}

.nav--offers .nav__item.has-submenu > .nav__submenu{
    left: 50%;
    transform: translateX(-50%);
}

/* ===== Dropdown: kompaktnější box ===== */
.nav--offers .nav__item.has-submenu > .nav__submenu{
    min-width: 240px;
    padding: 8px;
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(0,0,0,.14);
}

/* jednotlivé řádky v dropdownu */
.nav--offers .nav__submenu .nav__link{
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 650;
    color: #954444;
    background: transparent;
}

/* hover v dropdownu – jemný vínový “wash” */
.nav--offers .nav__submenu .nav__link:hover{
    background: rgba(149,68,68,.08);
}
/* ===== offers: šipka těsně u pill ===== */
   .nav--offers .nav__row{
       gap: 6px;
   }

.nav--offers .nav__subtoggle{
    width: 18px;
    height: 18px;
    margin-left: -2px;  /* přisune ji k pill */
    opacity: .45;
}

.nav--offers .nav__subtoggle::before{
    width: 6px;
    height: 6px;
    border-right-width: 1.25px;
    border-bottom-width: 1.25px;
}

.nav--offers .nav__item.has-submenu > .nav__submenu{
    left: 50%;
    transform: translateX(-50%);
}

.nav__submenu .nav__row{
    justify-content: flex-start;
    gap: 8px;
}

.nav__submenu .nav__row .nav__link{
    flex: 1 1 auto;
}


/* ===== Subpages (tabs / cards) ===== */
.subnav{
    margin: 22px auto 26px;
    max-width: 1100px;
    padding: 0 18px;
}

/* tabs */
.subnav__tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
}
.subnav__tab{
    display:inline-flex;
    align-items:center;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(149,68,68,.22);
    background: rgba(255,255,255,.75);
    color:#954444;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:12px;
    text-decoration:none;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.subnav__tab:hover{
    transform:translateY(-1px);
    border-color:rgba(149,68,68,.35);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

/* cards */
.subnav__cards{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    margin-top: 10px;
}
@media (max-width: 980px){
    .subnav__cards{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px){
    .subnav__cards{ grid-template-columns:1fr; }
}

.subcard{
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(149,68,68,.16);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
    overflow:hidden;
}
.subcard__link{
    display:block;
    color:inherit;
    text-decoration:none;
}
.subcard__img{
    display:block;
    width:100%;
    height:190px;
    object-fit:cover;
}
.subcard__img--empty{
    height:190px;
    background: linear-gradient(135deg, rgba(149,68,68,.08), rgba(149,68,68,.03));
}

.subcard__title{
    margin: 14px 14px 8px;
    color:#954444;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: 14px;
}
.subcard__text{
    margin: 0 14px 14px;
    color: rgba(0,0,0,.68);
    line-height: 1.45;
    font-size: 13px;
}

/* chips for 3rd level */
.subcard__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding: 0 14px 14px;
}
.chip{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    border:1px solid rgba(149,68,68,.18);
    background:#fff;
    color:#954444;
    font-weight:700;
    font-size:12px;
    text-decoration:none;
}
.chip:hover{
    border-color: rgba(149,68,68,.32);
}

/* =========================================================
   TopStyl – Aktuality / Provozní informace
   čistý luxusní výpis v rámci .page layoutu
   ========================================================= */

.page-intro--news {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.page-intro--news h1,
.page-intro--news h2 {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 18px;
    color: #2f2f2f;
    font-size: 3.2em;
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.02em;
}

.page-intro--news h1::after,
.page-intro--news h2::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 18px auto 0;
    background: #954444;
}

.page-intro--news p {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(0,0,0,.62);
    font-size: 1.5em;
    line-height: 1.65;
}

/* zjemní horní/dolní prostor jen na běžných podstránkách */
.np .page > .content.vcontent {
    padding-top: 6.4em;
    padding-bottom: 7.2em;
}

/* výpis */
.news-list {
    max-width: 980px;
    margin: 0 auto;
}

.news-list__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* pokud je jen jedna aktualita, ať nevypadá jako ztracená malá kartička vlevo */
.news-list__grid .news-item:only-child {
    grid-column: 1 / -1;
    max-width: 760px;
    margin: 0 auto;
}

/* karta */
.news-item {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(149,68,68,.14);
    border-radius: 20px;
    box-shadow: 0 18px 44px rgba(0,0,0,.075);
    transition:
            transform .18s ease,
            box-shadow .18s ease,
            border-color .18s ease;
}

.news-item:hover {
    transform: translateY(-4px);
    border-color: rgba(149,68,68,.28);
    box-shadow: 0 26px 58px rgba(0,0,0,.105);
}

/* varianta bez obrázku */

.news-item--no-image {
    background:
            radial-gradient(circle at 100% 0, rgba(149,68,68,.04), transparent 36%),
            radial-gradient(circle at 0 100%, rgba(25,85,101,.035), transparent 32%),
            rgba(255,255,255,.96);
    border-color: rgba(149,68,68,.11);
}
.news-list__grid .news-item--no-image:only-child .news-item__content {
    padding: 38px 50px 40px;
}



/* jedna položka bez obrázku – magazínovější layout */
.news-list__grid .news-item--no-image:only-child {
    min-height: 220px;
}

.news-list__grid .news-item--no-image:only-child .news-item__content {
    padding: 46px 54px 48px;
}

/* obrázek */
.news-item__image {
    display: block;
    height: 190px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(149,68,68,.08), rgba(149,68,68,.025));
}

.news-item__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform .36s ease;
}

.news-item:hover .news-item__image img {
    transform: scale(1.035);
}

/* obsah */
.news-item__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 27px 28px 30px;
}

.news-item__date {
    margin: 0 0 13px;
    color: rgba(0,0,0,.48);
    font-size: 1.25em;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .02em;
}

.news-item__title {
    margin: 0 0 14px !important;
    color: #2f2f2f;
    font-size: 1.95em;
    line-height: 1.25;
    font-weight: 900;
}

.news-item__title a {
    color: #2f2f2f !important;
    text-decoration: none;
}

.news-item__title a:hover {
    color: #954444 !important;
    text-decoration: none;
}

.news-item__text {
    color: rgba(0,0,0,.66);
}

.news-item__text p {
    margin: 0 0 1em;
    font-size: 1.4em;
    line-height: 1.58;
}

.news-item__button {
    align-self: flex-start;
    margin-top: 20px;
}
.news-item__text {
    flex: 1 1 auto;
}


/* staré výpisy aktualit už nebudou zasahovat do nového výpisu */
.news-list ul,
.news-list li {
    list-style: none;
}

/* responsivita */
@media screen and (max-width: 980px) {
    .news-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-list__grid .news-item:only-child {
        max-width: 680px;
    }
}

@media screen and (max-width: 680px) {
    .np .page > .content.vcontent {
        padding-top: 4.4em;
        padding-bottom: 5.4em;
    }

    .page-intro--news {
        margin-bottom: 30px;
        text-align: left;
    }

    .page-intro--news h1,
    .page-intro--news h2 {
        font-size: 2.7em;
    }

    .page-intro--news h1::after,
    .page-intro--news h2::after {
        margin-left: 0;
        margin-right: 0;
    }

    .page-intro--news p {
        margin-left: 0;
        margin-right: 0;
    }

    .news-list__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .news-list__grid .news-item--no-image:only-child .news-item__content {
        padding: 32px 28px 34px;
    }

    .news-item__image {
        height: 210px;
    }
}

/* =========================================================
   TopStyl – button2
   hlavní měkčí CTA varianta
   ========================================================= */

a.button2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 2px 15px 0;
    border-radius: 999px;
    border: 1px solid rgba(25,85,101,.18);
    background: #195565;
    color: #fff !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.05em;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .06em;
    box-shadow: 0 5px 14px rgba(25,85,101,.10);
    transition:
            transform .16s ease,
            box-shadow .16s ease,
            background-color .16s ease,
            border-color .16s ease;
}

a.button2:hover {
    background: #206c80;
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(25,85,101,.15);
    border-color: rgba(25,85,101,.28);
}

a.button2--arrow::after {
    content: "";
    width: 16px;
    height: 7px;
    margin-left: 8px;
    background-image: url("../images/sipka.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: brightness(0) invert(1);
}
.hp .blok1 a.button2,
.hp .blok2 a.button2 {
    min-height: 28px;
    padding: 2px 14px 0;
    font-size: .82em;
}


.hp .blok1 .button2,
.hp .blok2 .button2 {
    margin-top: 8px;
}

/* menší varianta button2 pro homepage textové bloky */
.hp .blok1 a.button2,
.hp .blok2 a.button2 {
    min-height: 30px;
    padding: 0 15px;
    font-size: .9em;
    letter-spacing: .055em;
    box-shadow: 0 4px 10px rgba(25,85,101,.08);
}

.hp .blok1 a.button2--arrow::after,
.hp .blok2 a.button2--arrow::after {
    width: 15px;
    height: 7px;
    margin-left: 8px;
}

/* =========================================================
   TopStyl – button3
   decentní navigační / návratové tlačítko
   ========================================================= */

a.button3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 1px 17px 0;
    border-radius: 999px;
    border: 1px solid rgba(149,68,68,.24);
    background: rgba(255,255,255,.72);
    color: #954444 !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.05em;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .055em;
    box-shadow: 0 8px 22px rgba(0,0,0,.045);
    transition:
            transform .16s ease,
            box-shadow .16s ease,
            background-color .16s ease,
            border-color .16s ease,
            color .16s ease;
}

a.button3:hover {
    background: rgba(149,68,68,.055);
    border-color: rgba(149,68,68,.36);
    color: #7f3838 !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0,0,0,.065);
}

a.button3--back::before {
    content: "";
    width: 16px;
    height: 8px;
    margin-right: 9px;
    background-image: url("../images/sipka.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(180deg);
    opacity: .78;
    filter: none;
}

a.button3--back:hover::before {
    opacity: 1;
}

.detail-back {
    margin-top: 3.2em;
    margin-bottom: 0;
}
a.button3--back::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 11px;
    border-left: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    opacity: .8;
}

a.button3--back:hover::before {
    opacity: 1;
}

/* =========================================================
   TopStyl – detail článku / produktové stránky
   ========================================================= */

.clanek {
    max-width: 980px;
    margin: 0 auto;
}

.article-detail {
    margin-top: 10px;
}

.article-detail--with-image {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .78fr);
    gap: 56px;
    align-items: start;
}

.article-detail--text-only {
    max-width: 760px;
}

.article-detail__text {
    color: rgba(0,0,0,.68);
}

.article-detail__text h1,
.article-detail__text h2 {
    margin-top: 0;
}

.article-detail__text p {
    font-size: 1.45em;
    line-height: 1.68;
}

.article-detail__text p:first-child {
    margin-top: 0;
}

.article-detail__text strong,
.article-detail__text b {
    color: #2f2f2f;
    font-weight: 800;
}

.article-detail__text ul,
.article-detail__text ol {
    margin-top: 1.4em;
    margin-bottom: 1.4em;
}

.article-detail__text ul li,
.article-detail__text ol li {
    font-size: 1.4em;
    line-height: 1.65;
    margin-bottom: .55em;
}

.article-detail__media {
    margin: 0;
}

.article-detail__media a {
    display: block;
    overflow: hidden;
    border-radius: 14px;
    background: #f7f4f2;
    box-shadow:
            0 18px 42px rgba(0,0,0,.075),
            0 1px 0 rgba(149,68,68,.08);
}

.article-detail__media img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

.article-detail__aftertext {
    max-width: 760px;
    margin-top: 42px;
    color: rgba(0,0,0,.68);
}

.article-detail__aftertext p {
    font-size: 1.45em;
    line-height: 1.68;
}

/* jemné sjednocení nadpisů z editoru */
.clanek > h1,
.clanek .article-detail__text h1 {
    position: relative;
    margin: 0 0 30px;
    padding-bottom: 16px;
    color: #2f2f2f;
    font-size: 3.2em;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.02em;
}

.clanek > h1::after,
.clanek .article-detail__text h1::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin-top: 17px;
    background: #954444;
}

/* galerie v detailu článku */
.article-gallery {
    max-width: 980px;
    margin: 44px auto 0;
    margin-top: 68px;
}

.article-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.article-gallery__item {
    margin: 0;
}

.article-gallery__item a {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    background: #f7f4f2;
    box-shadow: 0 12px 32px rgba(0,0,0,.055);
    transition:
            transform .18s ease,
            box-shadow .18s ease;
}

.article-gallery__item a:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(0,0,0,.085);
}

.article-gallery__item img {
    display: block;
    width: 100%;
    height: 190px;
    max-width: none;
    object-fit: cover;
}

.article-gallery__item figcaption {
    margin-top: 12px;
    color: rgba(0,0,0,.58);
    font-size: 1.25em;
    line-height: 1.35;
    font-weight: 500;
}
/* responsivita */
@media screen and (max-width: 900px) {
    .article-detail--with-image {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .article-detail__media {
        max-width: 520px;
    }

    .article-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 620px) {
    .clanek > h1,
    .clanek .article-detail__text h1 {
        font-size: 2.7em;
    }

    .article-detail__text p,
    .article-detail__aftertext p {
        font-size: 1.4em;
    }

    .article-gallery__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .article-gallery__item img {
        height: 220px;
    }
}

.article-detail {
    position: relative;
    max-width: 940px;
    margin: 0 auto;
    padding: 0;
}

.article-detail--with-image {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .82fr);
    gap: 58px;
    align-items: start;
}

.article-detail__text {
    color: rgba(0,0,0,.68);
}

.article-detail__text p {
    margin-top: 0;
    margin-bottom: 1.35em;
    font-size: 1.42em;
    line-height: 1.72;
}

.article-detail__text strong,
.article-detail__text b {
    color: #2f2f2f;
    font-weight: 800;
}

.article-gallery {
    max-width: 940px;
    margin: 52px auto 0;
}

.article-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 28px;
}

.article-gallery__item {
    margin: 0;
}

.article-gallery__item a {
    display: block;
    overflow: hidden;
    border-radius: 13px;
    background: #f7f4f2;
    box-shadow:
            0 12px 30px rgba(0,0,0,.06),
            0 1px 0 rgba(149,68,68,.08);
    transition:
            transform .18s ease,
            box-shadow .18s ease;
}

.article-gallery__item a:hover {
    transform: translateY(-3px);
    box-shadow:
            0 20px 46px rgba(0,0,0,.09),
            0 1px 0 rgba(149,68,68,.1);
}

.article-gallery__item img {
    display: block;
    width: 100%;
    height: 190px;
    max-width: none;
    object-fit: cover;
}

.article-gallery__item figcaption {
    margin-top: 12px;
    color: rgba(0,0,0,.58);
    font-size: 1.25em;
    line-height: 1.35;
    font-weight: 500;
}

.article-gallery {
    position: relative;
    max-width: 940px;
    margin: 58px auto 0;
    padding-top: 34px;
}

.article-gallery::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 46px;
    height: 2px;
    background: rgba(149,68,68,.75);
}

.article-gallery {
    position: relative;
    max-width: 940px;
    margin: 64px auto 0;
}

.article-gallery::before {
    display: none;
}

.article-gallery__header {
    margin-bottom: 24px;
}

.article-gallery__header h2 {
    position: relative;
    margin: 0;
    padding-bottom: 14px;
    color: #2f2f2f;
    font-size: 2.25em;
    font-weight: 800;
    letter-spacing: -.015em;
    line-height: 1.25;

}

.article-gallery__header h2::after {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    margin-top: 14px;
    background: #954444;
}

.article-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 28px;
}

.article-gallery__item figcaption {
    margin-top: 13px;
    color: rgba(0,0,0,.62);
    font-size: 1.3em;
    line-height: 1.35;
    font-weight: 500;
}

/* =========================================================
   TopStyl – refined footer
   jemnější prémiová patička
   ========================================================= */

#footer {
    position: relative;
    overflow: hidden;
    background:
            radial-gradient(circle at 50% 0, rgba(149,68,68,.13), transparent 34%),
            linear-gradient(180deg, #363434 0%, #2f2f2f 100%) !important;
    color: rgba(255,255,255,.62) !important;
    border-top: 1px solid rgba(149,68,68,.18) !important;
}

/* jemné oddělení od obsahu */
#footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 7.0833333333%;
    right: 7.0833333333%;
    height: 1px;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.16),
            transparent
    );
}

/* méně mohutná výška patičky */
#footer .vcontent {
    padding-top: 3em;
    padding-bottom: 2.4em;
}

/* lepší rozložení sloupců */
#footer ul.logo_bottom {
    background-image: none;
}

#footer ul.count3,
#footer ul.count4 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 44px;
    align-items: start;
}

#footer ul.count2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px;
}

#footer ul li {
    float: none;
    width: auto;
}

/* nadpisy sloupců */
#footer ul li header,
#footer ul li header a {
    position: relative;
    display: inline-block;
    margin-bottom: 12px;
    padding-bottom: 12px;
    color: #fff !important;
    font-size: 1.15em;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
}

#footer ul li header::after {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    margin-top: 10px;
    background: rgba(149,68,68,.9);
}

/* položky */
#footer ul li ul li {
    margin-bottom: 7px;
    color: rgba(255,255,255,.62) !important;
    font-size: 1.35em;
    line-height: 1.45;
}

#footer ul li ul li a {
    color: rgba(255,255,255,.62) !important;
    text-decoration: none;
    transition:
            color .16s ease,
            transform .16s ease;
}

#footer ul li ul li a:hover {
    color: #fff !important;
    text-decoration: none;
}

/* spodní copyright pruh */
.webdesign {
    background:
            linear-gradient(180deg, #2a2a2a 0%, #272727 100%) !important;
    border-top: 1px solid rgba(255,255,255,.045) !important;
    color: rgba(255,255,255,.48) !important;
    padding-top: 1.4em;
    padding-bottom: 1.4em;
}

.webdesign p {
    margin: 0;
    color: rgba(255,255,255,.48) !important;
    font-size: 1.2em;
    line-height: 1.45;
}

.webdesign a {
    color: rgba(255,255,255,.58) !important;
    text-decoration: none !important;
}

.webdesign a:hover {
    color: #fff !important;
}

/* odstranění nepoužívaného arrow prvku, pokud vizuálně překáží */
#footer .arrow-bottom {
    display: none;
}

/* mobil */
@media screen and (max-width: 720px) {
    #footer .vcontent {
        padding-top: 4em;
        padding-bottom: 3.4em;
    }

    #footer ul.count2,
    #footer ul.count3,
    #footer ul.count4 {
        display: block;
    }

    #footer ul li {
        width: 100%;
        text-align: center;
        margin-bottom: 2.8em;
    }

    #footer ul li header::after {
        margin-left: auto;
        margin-right: auto;
    }

    .webdesign {
        text-align: center;
    }
}

#footer .arrow-bottom {
    display: none;
}

#footer .vcontent {
    padding-top: 3.4em;
    padding-bottom: 3.4em;
}

#footer ul.count3,
#footer ul.count4 {
    gap: 36px;
}

#footer ul li ul li {
    margin-bottom: 5px;
    font-size: 1.28em;
}

#footer ul li header,
#footer ul li header a {
    margin-bottom: 9px;
    padding-bottom: 9px;
}

.webdesign {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
}

.webdesign p {
    font-size: 1.15em;
}
#footer {
    background:
            radial-gradient(circle at 50% 0, rgba(149,68,68,.10), transparent 36%),
            linear-gradient(180deg, #343232 0%, #2b2b2b 100%) !important;
}

#footer .cleaner {
    display: none;
}

#footer ul.count2,
#footer ul.count3,
#footer ul.count4 {
    margin: 0;
    padding: 0;
}

#footer ul.count3,
#footer ul.count4 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

#footer ul.count2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

#footer ul li {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}

#footer ul li ul {
    margin: 0;
    padding: 0;
}

#footer ul li ul li {
    margin: 0 0 4px;
    padding: 0;
    line-height: 1.38;
}

/* =========================================================
   TopStyl – galerie / realizace
   moderní rozcestník galerie
   ========================================================= */

.gallery-intro {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.gallery-intro h1,
.gallery-intro h2 {
    position: relative;
    margin: 0;
    padding-bottom: 16px;
    color: #2f2f2f;
    font-size: 3.2em;
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.02em;
}

.gallery-intro h1::after,
.gallery-intro h2::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 17px auto 0;
    background: #954444;
}

.gallery-intro p {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(0,0,0,.62);
    font-size: 1.45em;
    line-height: 1.65;
}

/* filtry */
.gallery-filter {
    max-width: 980px;
    margin: 0 auto 34px;
    text-align: center;
}

.gallery-filter__label {
    margin: 0 0 16px;
    color: rgba(0,0,0,.58);
    font-size: 1.35em;
    line-height: 1.5;
}

.gallery-filter__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 12px;
}


.gallery-filter__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 2px 14px 0;
    border-radius: 999px;
    border: 1px solid rgba(25,85,101,.18);
    background: #195565;
    color: #fff !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: .98em;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .055em;
    box-shadow: 0 4px 12px rgba(25,85,101,.08);
    transition:
            transform .16s ease,
            box-shadow .16s ease,
            background-color .16s ease,
            border-color .16s ease;
}

.gallery-filter__button:hover {
    background: #206c80;
    border-color: rgba(25,85,101,.28);
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(25,85,101,.13);
}
.gallery-filter__button.is-active {
    background: #537d60;
    border-color: #537d60;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(83,125,96,.18);
}

/* grid galerie */
.gallery-list {
    max-width: 980px;
    margin: 0 auto;
}

.gallery-list__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

/* karta */
.gallery-card {
    display: flex;
    min-height: 100%;
    overflow: hidden;
    flex-direction: column;
    border-radius: 18px;
    border: 1px solid rgba(149,68,68,.13);
    background: rgba(255,255,255,.92);
    box-shadow: 0 16px 38px rgba(0,0,0,.07);
    transition:
            transform .18s ease,
            box-shadow .18s ease,
            border-color .18s ease;
}

.gallery-card:hover {
    transform: translateY(-4px);
    border-color: rgba(149,68,68,.26);
    box-shadow: 0 24px 54px rgba(0,0,0,.10);
}

/* fotka */
.gallery-card__image {
    display: block;
    overflow: hidden;
    height: 210px;
    background: #f7f4f2;
}

.gallery-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform .36s ease;
}

.gallery-card:hover .gallery-card__image img {
    transform: scale(1.035);
}

/* obsah karty */
.gallery-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 24px 24px 26px;
}

.gallery-card__title {
    margin: 0 0 13px !important;
    color: #2f2f2f;
    font-size: 1.9em;
    line-height: 1.24;
    font-weight: 900;
}

.gallery-card__title a {
    color: #2f2f2f !important;
    text-decoration: none;
}

.gallery-card__title a:hover {
    color: #954444 !important;
    text-decoration: none;
}

.gallery-card__text {
    flex: 1 1 auto;
    color: rgba(0,0,0,.66);
}

.gallery-card__text p {
    margin: 0 0 1em;
    font-size: 1.38em;
    line-height: 1.55;
}

.gallery-card__button {
    align-self: flex-start;
    margin-top: 20px;
}

.gallery-card .button2 {
    min-height: 28px;
    padding: 2px 13px 0;
    font-size: .86em;
    box-shadow: 0 4px 12px rgba(25,85,101,.09);
}

.gallery-card .button2:hover {
    box-shadow: 0 7px 18px rgba(25,85,101,.13);
}

.gallery-card .button2--arrow::after {
    width: 14px;
    height: 6px;
    margin-left: 7px;
}

.gallery-filter {
    margin-bottom: 38px;
}

.gallery-card__body {
    padding: 22px 24px 24px;
}

.gallery-card__text {
    flex: 0 1 auto;
}

.gallery-card__button {
    margin-top: 18px;
}

.gallery-card {
    min-height: auto;
}

.gallery-card__body {
    min-height: 160px;
}

/* karta bez fotky */
.gallery-card--no-image {
    background:
            radial-gradient(circle at 100% 0, rgba(149,68,68,.04), transparent 36%),
            radial-gradient(circle at 0 100%, rgba(25,85,101,.035), transparent 32%),
            rgba(255,255,255,.96);
}

/* responsivita */
@media screen and (max-width: 980px) {
    .gallery-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 680px) {
    .gallery-intro {
        text-align: left;
        margin-bottom: 28px;
    }

    .gallery-intro h1,
    .gallery-intro h2 {
        font-size: 2.7em;
    }

    .gallery-intro h1::after,
    .gallery-intro h2::after {
        margin-left: 0;
        margin-right: 0;
    }

    .gallery-filter {
        text-align: left;
    }

    .gallery-filter__items {
        justify-content: flex-start;
    }

    .gallery-list__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gallery-card__image {
        height: 230px;
    }
}

/* =========================================================
   TopStyl – detail galerie / realizace
   ========================================================= */

.gallery-show {
    max-width: 940px;
    margin: 0 auto;
}

.gallery-show__header {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.gallery-show__header h1 {
    position: relative;
    margin: 0;
    padding-bottom: 16px;
    color: #2f2f2f;
    font-size: 3.2em;
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.02em;
}

.gallery-show__header h1::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 17px auto 0;
    background: #954444;
}

.gallery-show__header p {
    max-width: 640px;
    margin: 20px auto 0;
    color: rgba(0,0,0,.62);
    font-size: 1.45em;
    line-height: 1.65;
}

.gallery-show__hero {
    max-width: 860px;
    margin: 0 auto;
}

.gallery-show__hero a {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    background: #f7f4f2;
    box-shadow:
            0 18px 46px rgba(0,0,0,.08),
            0 1px 0 rgba(149,68,68,.08);
}

.gallery-show__hero img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

.gallery-show__text {
    max-width: 760px;
    margin: 38px auto 0;
    color: rgba(0,0,0,.68);
}

.gallery-show__text p {
    font-size: 1.45em;
    line-height: 1.68;
}

.gallery-show__text p:first-child {
    margin-top: 0;
}

.gallery-show__text strong,
.gallery-show__text b {
    color: #2f2f2f;
    font-weight: 800;
}

/* fotogalerie realizace */
.gallery-show-gallery {
    max-width: 860px;
    margin: 64px auto 0;
}

.gallery-show-gallery__header {
    margin-bottom: 24px;
}

.gallery-show-gallery__header h2 {
    position: relative;
    margin: 0;
    padding-bottom: 14px;
    color: #2f2f2f;
    font-size: 2.25em;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.015em;
}

.gallery-show-gallery__header h2::after {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    margin-top: 14px;
    background: #954444;
}

.gallery-show-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 28px;
}

.gallery-show-gallery__item {
    margin: 0;
}

.gallery-show-gallery__item a {
    display: block;
    overflow: hidden;
    border-radius: 13px;
    background: #f7f4f2;
    box-shadow:
            0 12px 30px rgba(0,0,0,.06),
            0 1px 0 rgba(149,68,68,.08);
    transition:
            transform .18s ease,
            box-shadow .18s ease;
}

.gallery-show-gallery__item a:hover {
    transform: translateY(-3px);
    box-shadow:
            0 20px 46px rgba(0,0,0,.09),
            0 1px 0 rgba(149,68,68,.1);
}

.gallery-show-gallery__item img {
    display: block;
    width: 100%;
    height: 170px;
    max-width: none;
    object-fit: cover;
}

.gallery-show-gallery__item figcaption {
    margin-top: 12px;
    color: rgba(0,0,0,.6);
    font-size: 1.25em;
    line-height: 1.35;
    font-weight: 500;
}

.gallery-show__back {
    position: relative;
    max-width: 860px;
    margin: 58px auto 0;
    padding-top: 28px;
}

.gallery-show__back::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 42px;
    height: 1px;
    background: rgba(149,68,68,.55);
}

/* responsivita */
@media screen and (max-width: 900px) {
    .gallery-show,
    .gallery-show__hero,
    .gallery-show-gallery,
    .gallery-show__back {
        max-width: 100%;
    }

    .gallery-show-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 620px) {
    .gallery-show__header {
        text-align: left;
        margin-bottom: 28px;
    }

    .gallery-show__header h1 {
        font-size: 2.7em;
    }

    .gallery-show__header h1::after {
        margin-left: 0;
        margin-right: 0;
    }

    .gallery-show-gallery {
        margin-top: 48px;
    }

    .gallery-show-gallery__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .gallery-show-gallery__item img {
        height: 220px;
    }
}

/* Centrované nadpisy v běžném obsahu */
.page-text h1.center {
    position: relative;
    padding-bottom: 16px;
}

.page-text h1.center::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 17px auto 0;
    background: #954444;
}

/* =========================================================
   TopStyl – péče o bytový textil
   homepage mini manuál symbolů údržby
   ========================================================= */

.care-symbols {
    position: relative;
    overflow: hidden;
    background:
            radial-gradient(circle at 50% 0, rgba(149,68,68,.045), transparent 36%),
            linear-gradient(180deg, #faf7f7 0%, #f7f3f3 100%);
    border-top: 1px solid rgba(149,68,68,.10);
    border-bottom: 1px solid rgba(149,68,68,.10);
}

.care-symbols__header {
    max-width: 720px;
    margin: 0 auto 34px;
    text-align: center;
}

.care-symbols__header h2 {
    position: relative;
    margin: 0;
    padding-bottom: 15px;
    color: #2f2f2f;
    font-size: 3em;
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.02em;
}

.care-symbols__header h2::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 16px auto 0;
    background: #954444;
}

.care-symbols__header p {
    max-width: 620px;
    margin: 18px auto 0;
    color: rgba(0,0,0,.62);
    font-size: 1.45em;
    line-height: 1.65;
}

.care-symbols__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    max-width: 1040px;
    margin: 0 auto;
}

.care-symbol {
    text-align: center;
    padding: 0 8px;
}

.care-symbol__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: rgba(149,68,68,.065);
    box-shadow: 0 8px 20px rgba(0,0,0,.035);
}

.care-symbol__icon svg {
    display: block;
    width: 52px;
    height: 52px;
}

.care-symbol__icon svg path,
.care-symbol__icon svg rect,
.care-symbol__icon svg circle {
    fill: none;
    stroke: #954444;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.care-symbol__icon svg text {
    fill: #954444;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 800;
    dominant-baseline: middle;
}

.care-symbol h3 {
    margin: 0 0 7px;
    color: #2f2f2f;
    font-size: 1.32em;
    line-height: 1.28;
    font-weight: 900;
}

.care-symbol p {
    margin: 0;
    color: rgba(0,0,0,.58);
    font-size: 1.12em;
    line-height: 1.45;
}

/* tablet */
@media screen and (max-width: 980px) {
    .care-symbols__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 30px 22px;
        max-width: 760px;
    }

    .care-symbol p {
        max-width: 220px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* mobil */
@media screen and (max-width: 620px) {
    .care-symbols__header {
        text-align: left;
        margin-bottom: 28px;
    }

    .care-symbols__header h2 {
        font-size: 2.55em;
    }

    .care-symbols__header h2::after {
        margin-left: 0;
        margin-right: 0;
    }

    .care-symbols__header p {
        margin-left: 0;
        margin-right: 0;
    }

    .care-symbols__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .care-symbol {
        display: grid;
        grid-template-columns: 68px minmax(0, 1fr);
        column-gap: 18px;
        text-align: left;
        padding: 0;
    }

    .care-symbol__icon {
        width: 62px;
        height: 62px;
        margin: 0;
        grid-row: span 2;
    }

    .care-symbol__icon svg {
        width: 46px;
        height: 46px;
    }

    .care-symbol h3 {
        margin-top: 2px;
    }
}

/* =========================================================
   TopStyl – partneři
   jemný logo pás na homepage
   ========================================================= */

.partners {
    background: #fff;
}

.partners .vcontent {
    padding-top: 5em;
    padding-bottom: 5.4em;
}

.partners__header {
    margin-bottom: 36px;
    text-align: center;
}

.partners__header h2 {
    position: relative;
    margin: 0;
    padding-bottom: 15px;
    color: #2f2f2f;
    font-size: 3em;
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.02em;
}

.partners__header h2::after {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: 16px auto 0;
    background: #954444;
}

.partners__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
    max-width: 820px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.partners__item {
    margin: 0;
    padding: 0;
}

.partners__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 86px;
    padding: 18px 24px;
    border-radius: 16px;
    border: 1px solid rgba(149,68,68,.08);
    background: rgba(255,255,255,.78);
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(0,0,0,.035);
    transition:
            transform .18s ease,
            box-shadow .18s ease,
            border-color .18s ease,
            background-color .18s ease;
}

.partners__link:hover {
    transform: translateY(-3px);
    border-color: rgba(149,68,68,.16);
    background: #fff;
    box-shadow: 0 16px 38px rgba(0,0,0,.06);
    text-decoration: none;
}

.partners__link img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 46px;
    object-fit: contain;
}

/* jemné individuální vyrovnání velmi světlých / tmavých log */
.partners__link[title="VILLA NOVA"] img {
    max-height: 34px;
}

.partners__link[title="Blendworth"] img {
    max-height: 38px;
}

@media screen and (max-width: 760px) {
    .partners__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 460px;
        gap: 18px;
    }
}

@media screen and (max-width: 460px) {
    .partners__list {
        grid-template-columns: 1fr;
    }

    .partners__link {
        min-height: 78px;
    }
}

.virtualni_prohlidka {text-align: center; background-color: #d8d8d8; line-height: 0;}
.virtualni_prohlidka iframe {max-width: 100%; width: 920px;}

/* =========================================================
   TopStyl – kontaktní pobočky
   ========================================================= */

.contact-branches {
    max-width: 980px;
    margin: 54px auto 0;
}

.contact-branches__grid {
    display: grid;
    gap: 34px;
}

.contact-branch {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 34px;
    padding: 34px;
    border-radius: 20px;
    border: 1px solid rgba(149,68,68,.11);
    background:
            radial-gradient(circle at 12% 0, rgba(149,68,68,.045), transparent 34%),
            #fff;
    box-shadow:
            0 16px 42px rgba(0,0,0,.055),
            0 1px 0 rgba(149,68,68,.07);
}

.contact-branch--no-map {
    grid-template-columns: 1fr;
    max-width: 720px;
}

.contact-branch__header {
    margin-bottom: 26px;
}

.contact-branch__header h2 {
    position: relative;
    margin: 0;
    padding-bottom: 13px;
    color: #2f2f2f;
    font-size: 2.35em;
    line-height: 1.22;
    font-weight: 900;
    letter-spacing: -.02em;
}

.contact-branch__header h2::after {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    margin-top: 13px;
    background: #954444;
}

.contact-branch__address {
    margin: 18px 0 0;
    color: rgba(0,0,0,.68);
    font-size: 1.38em;
    line-height: 1.58;
}

.contact-branch__group {
    margin-top: 22px;
}

.contact-branch__group h3 {
    margin: 0 0 9px;
    color: #2f2f2f;
    font-size: 1.25em;
    line-height: 1.3;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.contact-branch__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-branch__list li {
    margin-bottom: 6px;
    color: rgba(0,0,0,.68);
    font-size: 1.32em;
    line-height: 1.5;
}

.contact-branch__list a,
.contact-branch__info a {
    color: #195565;
    text-decoration: none;
    border-bottom: 1px solid rgba(25,85,101,.28);
}

.contact-branch__list a:hover,
.contact-branch__info a:hover {
    border-bottom-color: rgba(25,85,101,.75);
    text-decoration: none;
}

.contact-branch__info {
    color: rgba(0,0,0,.62);
    font-size: 1.28em;
    line-height: 1.58;
}

/* otevírací hodiny */
.contact-branch__hours table {
    width: 100%;
    max-width: 480px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid rgba(149,68,68,.12);
    border-radius: 13px;
    background: rgba(250,247,247,.75);
}

.contact-branch__hours th,
.contact-branch__hours td {
    padding: 8px 12px;
    border-bottom: 1px solid rgba(149,68,68,.10);
    color: rgba(0,0,0,.66);
    font-size: 1.16em;
    line-height: 1.35;
    text-align: left;
    vertical-align: top;
}

.contact-branch__hours tr:last-child th,
.contact-branch__hours tr:last-child td {
    border-bottom: 0;
}

.contact-branch__hours th {
    width: 28%;
    color: #2f2f2f;
    font-weight: 800;
}

/* mapa */
.contact-branch__map {
    overflow: hidden;
    min-height: 300px;
    border-radius: 18px;
    background: #f7f4f2;
    box-shadow:
            0 14px 34px rgba(0,0,0,.07),
            0 1px 0 rgba(149,68,68,.08);
}

.contact-branch__map iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 300px;
    border: 0 !important;
}

/* responsivita */
@media screen and (max-width: 900px) {
    .contact-branch {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .contact-branch__map {
        min-height: 320px;
    }

    .contact-branch__map iframe {
        min-height: 320px;
    }
}

@media screen and (max-width: 620px) {
    .contact-branches {
        margin-top: 38px;
    }

    .contact-branch {
        padding: 26px 22px;
        border-radius: 17px;
    }

    .contact-branch__header h2 {
        font-size: 2.05em;
    }

    .contact-branch__hours table {
        max-width: 100%;
    }

    .contact-branch__hours th,
    .contact-branch__hours td {
        padding: 7px 8px;
        font-size: 1.05em;
    }
}