/*/*
[Master Stylesheet]

Project:  Photobooth
Version:  1.0

[Table of contents]

1.  General
2.  Header
3.  Typography
4.  About
5.  Clients
6.  Price
7.  Contacts
8.  Blog Fullwidth
9.  Blog with left sidebar
10. Blog with right sidebar
11. Blog Grid
12. Coming soon
13. 404
14. Grid Gallery
15. Masonry Gallery
16. Albums Listing
17. Split Showcase
18. Ribbon Slider
19. Fullscreen Slider
19. Slider with Thumbnails
19. Albums Slider
19. Album Single
19. Post Single
20. Responsive
*/
/* General */
/* --- ROBOTO --- */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/roboto-v51-latin_latin-ext-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/roboto-v51-latin_latin-ext-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/roboto-v51-latin_latin-ext-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin_latin-ext-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin_latin-ext-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin_latin-ext-700.woff2') format('woff2');
}
/* Nastavení základní barvy pro kontaktní odkazy */
.photobooth_contact_info a {
    color: #916a46;
    text-decoration: none; /* Odstraní podtržení */
    transition: color 0.3s ease; /* Plynulý přechod barvy */
}

/* Změna barvy na černou po najetí kurzorem */
.photobooth_contact_info a:hover {
    color: #000000; /* Černá barva */
    text-decoration: underline; /* Volitelně: podtržení po najetí pro lepší vizuální zpětnou vazbu */
}
* {
    margin: 0;
    padding: 0;
}
html {
    width: 100%;
    height: auto;
    overflow-x: hidden;
    position: static;
}
body {
    position: relative;
    margin: 0;
    overflow: hidden;
    background-color: #fff;
    font-family: "Roboto";
    font-size: 15px;
    line-height: 24px;
    font-weight: 300;
    color: #2d2d2d;
    letter-spacing: 0.04em;
}
a {
    color: #916a46;
    text-decoration: none;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
a:hover {
    color: #2d2d2d;
}
img {
    width: auto;
    height: auto;
}
p {
    margin: 20px 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000000;
    margin-top: 0;
    margin-bottom: 20px;
    font-weight: 300;
    word-wrap: break-word;
    text-align: center;
    font-family: 'Roboto', sans-serif;
}
h1 {
    font-size: 36px;
    line-height: 46px;
}
h2 {
    font-size: 24px;
    line-height: 34px;
}
h3 {
    font-size: 20px;
    line-height: 30px;
}
h4 {
    font-size: 18px;
    line-height: 28px;
}
h5 {
    font-size: 16px;
    line-height: 26px;
}
h6 {
    font-size: 14px;
    line-height: 24px;
}
textarea {
    outline: none;
    resize: none;
    overflow: auto;
    height: 205px;
}
input:focus,
textarea:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    background: transparent;
    border: #ebedf2 2px solid;
}
input,
textarea {
    background: transparent;
    padding: 10.3px 14px 8.9px 14px;
    line-height: 20px;
    font-weight: 300;
    width: 100%;
    outline: none;
    font-size: 13px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin-bottom: 15.5px;
    border: #ebedf2 2px solid;
    border-radius: 4px;
    font-family: 'Roboto', sans-serif;
}
input[type="submit"] {
    height: 51px;
    border: 2px solid;
    line-height: 21px;
    display: inline-block;
    padding: 13px 30px 13px 30px;
    text-decoration: none;
    border-radius: 4px;
    color: #fff;
    text-transform: uppercase;
    font-size: 13px;
    transition: all 300ms;
    letter-spacing: 1px;
}
.clear {
    clear: both;
}
textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    color: #2d2d2d;
}
input[type="submit"]::-webkit-input-placeholder {
    font-weight: 300;
    font-family: 'Roboto', sans-serif;
}
input {
    margin-bottom: 16px;
}
.photobooth_title_text {
    font-size: 17px;
    text-align: center;
    margin-bottom: 40px;
}
@media only screen and (min-width: 1200px) {
    .photobooth_container {
        width: 1170px;
    }
}
.photobooth_hidden {
    opacity: 0;
}
.photobooth_visible {
    opacity: 1;
}
.photobooth_container {
    margin: 0 auto;
    padding: 0 15px;
}
blockquote,
.photobooth_button,
input[type="submit"],
.photobooth_price_item_popular a {
    border-color: #916a46;
}
.photobooth_button {
    color: #916a46;
}
.photobooth_button:hover,
input[type="submit"],
.photobooth_popular_label,
.photobooth_price_item_popular a,
.photobooth_404_btn {
    background-color: #916a46;
}
.photobooth_button:hover,
input[type="submit"],
.photobooth_popular_label,
.photobooth_price_item_popular a,
.photobooth_404_btn,
.photobooth_404_btn:hover {
    color: #fff;
}
.photobooth_price_item_popular a:hover,
input[type="submit"]:hover {
    color: #916a46;
    background: transparent;
    border-color: #916a46;
    cursor: pointer;
}
.photobooth_obr {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}
.photobooth_tlacicko_zpet {
    text-align: center;
}
/* Header */

.photobooth_image_logo {
    width: 303px;
    height: 60px;
    display: inline-block;
    margin-top: 62px;
    background: url(../img/logo-black.webp) 0 0 no-repeat transparent;
    background-size: 303px 60px;
}
.photobooth_logo_cont {
    width: 100%;
    text-align: center;
}
.photobooth_header {
    text-align: center;
    height: auto;
    transition: all 0.3s;
}
.photobooth_header .photobooth_container {
    padding: 0;
}
.photobooth_def_header {
    display: block;
}
.photobooth_menu_cont {
    padding-bottom: 34px;
}
.photobooth_menu {
    padding-top: 26px;
    height: auto;
}
.photobooth_menu>li {
    display: inline-block;
    margin: 0 15px;
    position: relative;
    transition: 0.3s all;
}
.photobooth_menu .active a:after {
    width: 100%;
}
.photobooth_menu>li:hover .sub-menu {
    display: block;
}
.photobooth_menu>li>a {
    line-height: 13px;
    padding-bottom: 45px;
    text-decoration: none;
    color: #000000;
    font-family: 'Poppins', sans-serif;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 300;
    font-style: normal;
    position: relative;
    overflow-x: hidden;
    z-index: 1000;
}
.photobooth_menu>li>a:after {
    content: '';
    position: absolute;
    height: 1px;
    background: #000000;
    width: 0;
    top: 21px;
    left: 0;
    transition: 0.3s all;
}
.photobooth_menu>li:hover a:after {
    content: '';
    width: 100%;
}
.sub-menu {
    display: none;
    position: absolute;
    margin: 0;
    top: 63px;
    left: 50%;
    width: 200px;
    border-radius: 10px;
    background-color: rgba(0, 0, 0, 0.8);
    text-align: left;
    padding: 7px 20px 2px 20px;
    transform: translateX(-50%);
    z-index: 10000;
}
.photobooth_menu>li:hover .sub-menu {
    display: block;
}
.sub-menu a {
    display: block;
    color: #fff;
    font-size: 13px;
    line-height: 22px;
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    border-bottom: 1px solid rgba(63, 62, 62, 0.8);
    padding: 13px 0 12px 0;
}
.sub-menu a:hover {
    color: #cb8c5d;
}
.sub-menu li:last-child a {
    border-bottom: none;
}
.mobile_header {
    display: none;
    position: relative;
    padding: 10px 20px;
    background-color: #2d2d2d;
    width: 100%;
    text-align: left;
}
.mobile_header .photobooth_image_logo {
    width: 202px;
    height: 40px;
    background: url(../img/logo-white.webp) 0 0 no-repeat transparent;
    background-size: 202px 40px;
    margin-top: 0;
}
.btn_mobile_menu {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 22px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.btn_mobile_menu span {
    display: block;
    width: 31px;
    height: 4px;
    position: absolute;
    left: 0;
    background: #fff;
    -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
    transition: opacity 0.2s, -webkit-transform 0.2s;
    transition: transform 0.2s, opacity 0.2s;
    transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s;
}
.btn_mobile_menu {
    text-decoration: none !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent; /* Odstraní modrý záblesk na mobilech */
}

/* Pokud by se po kliknutí vracelo pozadí, pojistíme to takto: */
.btn_mobile_menu:focus,
.btn_mobile_menu:active,
.btn_mobile_menu:hover {
    background: transparent !important;
    color: inherit !important;
}
.photobooth_menu_line1 {
    top: 4px;
}
.photobooth_menu_line2 {
    top: 13px;
}
.photobooth_menu_line3 {
    top: 22px;
}
.opened .photobooth_menu_line1 {
    -webkit-transform: rotate(135deg) translate(7px, -6px);
    -ms-transform: rotate(135deg) translate(7px, -6px);
    transform: rotate(135deg) translate(7px, -6px);
}
.opened .photobooth_menu_line2 {
    opacity: 0;
}
.opened .photobooth_menu_line3 {
    -webkit-transform: rotate(-135deg) translate(7px, 6px);
    -ms-transform: rotate(-135deg) translate(7px, 6px);
    transform: rotate(-135deg) translate(7px, 6px);
}
.mobile_menu_wrapper {
    display: none;
    z-index: 101;
    width: 100%;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
    background: #ffffff;
}
.mobile_menu {
    margin: 0;
    width: 100%;
    text-align: left;
    padding: 20px 25px 30px 25px;
}
.mobile_menu .sub-menu {
    position: static;
    width: 100%;
    transform: none;
    background: transparent;
    padding: 7px 25px;
    display: block;
}
.mobile_menu .sub-menu a {
    padding: 0;
    line-height: 24px;
    font-size: 14px;
    font-family: 'Roboto', sans-serif;
}
.mobile_menu .sub-menu li {
    padding: 6px 0 7px 0;
    list-style: none;
}
.mobile_menu .sub-menu li:last-child {
    padding-bottom: 0;
}
.mobile_menu li {
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
    padding-top: 6px;
    height: auto;
    list-style: none;
}
.mobile_menu li a {
    display: inline-block;
    position: relative;
    color: #000;
    border-bottom: none;
}
/* Typography */

.photobooth_content {
    margin-bottom: 0px;
    margin-top: 15px;
}
article {
    padding-bottom: 55px;
}
article h6 {
    text-transform: uppercase;
}
blockquote {
    border-left: 5px solid #916a46;
    margin: 25px 0 0 0;
    padding: 5px 0 5px 25px;
    position: relative;
}
blockquote p {
    font-style: normal;
    color: #2d2d2d;
    margin: 0;
}
blockquote:before {
    position: absolute;
    content: "“";
    top: -12px;
    left: 15px;
    color: #e8eaee;
    display: block;
    line-height: 150px;
    font-size: 150px;
    z-index: -1;
    font-style: normal;
}
/* Footer */

.photobooth_footer {
    background-color: #333333;
    padding: 13px 0 13px 0;
}
.photobooth_copy_text {
    color: #bdbdbd;
    text-align: center;
    line-height: 25px;
    padding: 0 20px;
    padding-top: 1px;
}
/* Preloader */

.photobooth_preloader_wrapper {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 9999;
    background: #ffffff;
    transition: opacity 0.5s;
}
.photobooth_preloader_wrapper.remove_preloader {
    opacity: 0;
}
.photobooth_preloader_content {
    width: 65px;
    height: 65px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10000;
    margin-left: -32px;
    margin-top: 0;
}
@-webkit-keyframes ball-pulse-sync {
    33% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    66% {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes ball-pulse-sync {
    33% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    66% {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
.ball-pulse-sync > div:nth-child(1) {
    -webkit-animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
    animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
}
.ball-pulse-sync > div:nth-child(2) {
    -webkit-animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
    animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
}
.ball-pulse-sync > div:nth-child(3) {
    -webkit-animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
    animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
}
.ball-pulse-sync > div {
    background-color: #916a46;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    display: inline-block;
}
/* About */

.photobooth_about {
    text-align: center;
}
.photobooth_about .photobooth_content {
    margin-top: 0;
}
.photobooth_slider3i {
    padding: 30px 0;
}
.photobooth_slider3i .owl-dots {
    display: none;
}
.owl-item img {
    border-radius: 10px;
}
.photobooth_about_section1 {
    padding-top: 39px;
}
.photobooth_about_section1 {
    padding: 39px 0 35px 0;
}
.photobooth_about_section1 p {
    margin-bottom: 45px;
}
.grid-item {
    border: 15px solid transparent;
    width: 25%;
}
.grid-item img {
    display: block;
}
.grid-item--width2 {
    width: 50%;
}
.photobooth_button {
    display: inline-block;
    padding: 13px 30px 13px 30px;
    height: 51px;
    line-height: 24px;
    letter-spacing: 1.65px;
    border: 2px solid;
    border-radius: 4px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 13px;
    transition: all 0.35s;
    margin-top: 27px;
}
.photobooth_button:hover {
    border: 2px solid #916a46
}
.owl-dot {
    margin: 0 7px;
    display: inline-block;
    background: transparent;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    position: relative;
}
.owl-dot.active span {
    opacity: 1;
}
.owl-dot.active {
    background: #fff;
}
.owl-dot.active span:hover {
    background: #000000;
}
.owl-dot span:hover {
    background: #869791;
}
.photobooth_clients_title {
    padding: 105px 0 95px 0;
    background: #f7f7f7;
    margin-bottom: 80px;
}
.photobooth_clients_title h1 {
    margin-bottom: 0;
    font-style: italic;
}
.photobooth_clients_title h3 {
    color: #808080;
}
.photobooth_client_contacts h2 {
    max-width: 58%;
    text-align: center;
    margin: 65px auto 45px auto;
    line-height: 60px;
}
.photobooth_client_contacts {
    text-align: left;
    margin-bottom: 4px;
}
.photobooth_client_contacts input[type="submit"] {
    margin-top: 3px;
}
.photobooth_client_contacts p {
    padding-right: 41px;
    margin-top: 15px;
}
.photobooth_client_contacts form {
    margin: 20px 0;
}
.photobooth_form_block {
    text-align: left;
}
/* Price */
.hero-fullwidth {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin: 0px -50vw 0 -50vw; /* 0px nahoře, -50vw vpravo, 0 dole, -50vw vlevo */
    overflow: hidden;
    line-height: 0;
}

.hero-fullwidth img {
    width: 100%;
    height: auto;
    display: block;
}
.photobooth_price_item_rpice {
    color: #000000;
    margin-top: 10px;
}
.photobooth_price .photobooth_content {
    margin-top: 0px;
}
/* Upraveno: Zvětšen spodní padding pro čistější oddělení */
.photobooth_price_block {
    padding: 34px 15px 30px 15px; 
}

.photobooth_price_block .photobooth_title_text {
    margin-bottom: 40px;
}
.col-4:last-child .photobooth_price_item {
    border-radius: 0 7px 7px 0;
}
.col-4:first-child .photobooth_price_item {
    border-radius: 7px 0 0 7px;
}
.photobooth_price_item {
    text-align: center;
    background: #f8f8f8;
    padding: 58px 0 59px 0;
}
.photobooth_price_item ul {
    list-style: none;
    margin: 10px 0 0 0;
}
.photobooth_price_item h6 {
    margin-bottom: 40px;
}
.photobooth_price_item_rpice span {
    font-size: 36px;
    line-height: 38px;
    letter-spacing: -2px;
    margin-left: -6px;
}
.photobooth_price_item_rpack_high span {
    font-size: 30px;
    line-height: 32px;
    letter-spacing: 0px;
    margin-left: 0px;
}
.photobooth_price_item_rpack span {
    font-size: 24px;
    line-height: 26px;
    letter-spacing: 0px;
    margin-left: -6px;
}
.photobooth_price_item_rpice sup {
    font-size: 22px;
    line-height: 24px;
    vertical-align: top;
}
.photobooth_price_item_rpice sub {
    font-size: 30px;
    line-height: 32px;
    margin-left: 10px;
    bottom: 3px;
    display: inline-block;
}
.photobooth_price_item li {
    margin-bottom: 15px;
    font-size: 15px;
    color: #000000;
}
.photobooth_price_item a {
    margin-top: 20px;
    line-height: 21px;
    letter-spacing: 0.04em;
}
.photobooth_price_item_popular {
    background: #e8eaee;
    border-radius: 7px;
    margin: -20px 0 0 0;
    padding: 78px 0 81px 0;
    position: relative;
}
.photobooth_popular_label {
    position: absolute;
    text-transform: uppercase;
    right: 30px;
    top: 30px;
    border-radius: 3px;
    font-size: 10px;
    line-height: 17px;
    padding: 5px 8px 5px 9px;
    letter-spacing: 1.9px;
}
/* Contacts */

.photobooth_contacts .photobooth_content {
    margin-bottom: 35px;
}
.photobooth_contacts .photobooth_clients_title {
    padding-bottom: 110px;
    margin-bottom: 58px;
}
.photobooth_contacts input,
.photobooth_contacts textarea {
    margin-bottom: 15px;
}
.photobooth_contacts input[type="submit"] {
    margin-top: 3px;
    letter-spacing: 0.9px;
    font-weight: ;
}
.photobooth_contacts .form_user-name {
    width: calc(100% - 15px);
}
.photobooth_contacts .form_email {
    width: calc(100% - 15px);
    margin-left: 15px;
}
.photobooth_contact_info {
    padding: 18px 0 0 0;
}
.photobooth_contact_info h6 {
    text-align: left;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.photobooth_contact_info p {
    font-size: 15px;
    line-height: 31px;
    margin: 0 0 0px 0;
}
.photobooth_contact_info p + h6 {
    margin-top: 23px;
}
.twitter {
    background-color: #50aaf1;
}
.google {
    background-color: #ec412c;
}
.photobooth_404_btn {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 1.65px;
    line-height: 14px;
    text-decoration: none;
    padding: 17px 30px;
    border-radius: 4px;
    text-transform: uppercase;
    margin-top: 50px;
    transition: background 0.4s;
}
.photobooth_404_btn:hover {
    background: #7a5a3c;
}
/* Grid Gallery */

.photobooth_grid_gallery {
    text-align: center;
}
.photobooth_grid_gallery .grid-item--width2 {
    width: 33.3%;
}
.photobooth_grid_gallery .photobooth_content {
    margin-top: 15px;
    margin-bottom: 100px;
    padding: 0 15px;
}
.photobooth_grid_gallery .photobooth_button {
    margin-top: 34px;
}
/* Masonry Gallery */

.photobooth_masonry_gallery img {
    border-radius: 25px;
}
.photobooth_grid_gallery .photobooth_content {
    margin-bottom: 30px;
}
.photobooth_anim_block_top {
    animation-duration: 2s;
    -webkit-animation-iteration-count: 1;
    animation-fill-mode: both;
    overflow: hidden;
}
@media only screen and (max-width: 1200px) {
    .photobooth_container {
        width: 970px;
    }
}
@media only screen and (max-width: 1025px) {
    .photobooth_menu_cont {
        padding: 0;
    }
    .photobooth_image_logo {
        margin-top: 30px;
    }
    .photobooth_title_text {
        margin: 0;
    }
    .photobooth_about_section1 p {
        margin-bottom: 20px;
    }
    .photobooth_about_section1 {
        padding-bottom: 10px;
    }
    .photobooth_about .photobooth_content {
        margin-bottom: 20px;
    }
    .photobooth_about_section1 {
        padding-top: 10px;
    }
    .photobooth_content {
        margin: 20px 0 20px 0;
    }
    .photobooth_clients_title {
        margin-bottom: 20px;
    }
    .photobooth_client_contacts h2 {
        margin-top: 20px;
        margin-bottom: 0;
    }
    .photobooth_price .photobooth_content {
        margin-top: 20px;
        margin-bottom: 0;
    }
    .photobooth_price_block {
        padding: 20px 15px;
    }
    .photobooth_price_block .photobooth_title_text {
        margin-bottom: 50px;
    }
    .photobooth_contacts .photobooth_clients_title {
        margin-bottom: 20px;
    }
    .photobooth_contacts .photobooth_content {
        margin-bottom: 0;
    }
    article {
        padding-bottom: 10px;
    }
}
@media only screen and (max-width: 992px) {
    .photobooth_container {
        width: 750px;
    }
}
@media only screen and (max-width: 769px) {
    .photobooth_def_header {
        display: none;
    }
    .first {
        order: 1;
    }
    .mobile_header {
        display: block;
    }
    .mobile_menu .active >a {
        color: #cb8c5d;
    }
    .photobooth_container {
        width: 100%;
    }
    .grid-item--width2 {
        width: 100%;
    }
    .photobooth_about_section1 {
        padding: 0;
    }
    .photobooth_price .photobooth_content {
        margin: 0;
    }
    .photobooth_price_block .col-4 {
        margin-bottom: 20px;
    }
    .col-4:first-child .photobooth_price_item,
.col-4:last-child .photobooth_price_item {
        border-radius: 7px;
    }
    .photobooth_price_block .col-4:first-child {
        margin-bottom: 40px;
    }
    .photobooth_price_block {
        padding: 20px 40px;
    }
    .photobooth_client_contacts p {
        padding-right: 0px;
    }
    .photobooth_contacts input {
        margin-bottom: 0;
    }
    .photobooth_grid_gallery .grid-item--width2 {
        width: 100%;
    }
    .photobooth_grid_gallery .photobooth_content {
        padding: 0;
        margin-top: 0;
        margin-bottom: 30px;
    }
    .photobooth_grid_gallery .photobooth_button {
        margin-top: 20px;
    }
    .photobooth_client_contacts form {
        margin: 0;
    }
    .photobooth_client_contacts h2 {
        max-width: 80%;
    }
    .photobooth_price_block .photobooth_title_text {
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 668px) {
    .photobooth_client_contacts h2 {
        max-width: 100%;
        padding: 0 20px;
        line-height: 40px;
    }
    .photobooth_client_contacts p {
        margin: 0;
    }
    .photobooth_404_btn {
        margin-top: 20px;
    }
}
@media only screen and (max-width: 480px) {
    .grid-item {
        border-left: none;
        border-right: none;
    }
    .photobooth_client_contacts p {
        margin-bottom: 0;
    }
    .photobooth_client_contacts input[type="submit"] {
        margin-bottom: 0;
    }
    .photobooth_grid_gallery .grid-item--width2 {
        border: 15px solid transparent;
    }
}
@media only screen and (max-width: 415px) {
    h1 {
        font-size: 30px;
        line-height: 40px;
    }
    .photobooth_button {
        margin-top: 15px;
    }
    .photobooth_slider3i {
        padding: 15px 0;
    }
    .photobooth_client_contacts h2 {
        font-size: 24px;
        padding: 0 10px;
    }
    .photobooth_price_block {
        padding: 20px 15px;
    }
}
/* Styly pro cookies panel */
.cookie-panel {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    color: #000000;
    padding: 20px;
    box-shadow: 0 -5px 15px rgba(0,0,0,0.05);
    z-index: 9999;
    font-family: "Roboto", sans-serif;
    font-size: 15px;
    box-sizing: border-box;
    /* OPRAVA: Odstraněna visibility, přidána opacity. Transform a opacity jsou "composited" vlastnosti. */
    transition: transform 0.4s ease, opacity 0.4s ease;
    opacity: 1;
}

/* Skrytí panelu */
.cookie-panel.hidden {
    transform: translateY(100%);
    /* OPRAVA: Místo visibility: hidden používáme opacity: 0 a pointer-events, aby na panel nešlo kliknout, když je skrytý */
    opacity: 0;
    pointer-events: none;
}

.cookie-content {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.cookie-buttons {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

/* Tlačítka cookie lišty – stejný vzhled jako přepínače ceníku (.photobooth_tab_btn) */
.btn-primary,
.btn-secondary {
    padding: 13px 25px;
    border: 2px solid #916a46;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Hlavní tlačítko (Přijmout) = vyplněné, jako aktivní záložka ceníku */
.btn-primary {
    background-color: #916a46;
    color: #fff;
}
.btn-primary:hover {
    background-color: #7a5a3c;
    border-color: #7a5a3c;
}

/* Vedlejší tlačítko (Pouze nezbytné) = obrys, jako neaktivní záložka ceníku */
.btn-secondary {
    background-color: transparent;
    color: #916a46;
}
.btn-secondary:hover {
    background-color: #916a46;
    color: #fff;
}

/* Responzivita */
@media (max-width: 768px) {
    .cookie-content { 
        flex-direction: column; 
        text-align: center; 
        gap: 15px;
    }
    
    .cookie-buttons {
        width: 100%;
        flex-direction: column;
    }
    
    .btn-primary,
.btn-secondary {
        width: 100%;
    }
}
/* Stylování přepínačů ceníku */
.photobooth_tab_btn {
    background-color: transparent;
    border: 2px solid #916a46;
    color: #916a46;
    padding: 13px 25px;
    font-size: 13px;
    cursor: pointer;
    font-weight: 300;
    font-family: "Roboto", sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 10px;
    transition: all 0.3s ease;
}

.photobooth_tab_btn:hover {
    background-color: #916a46;
    color: #fff;
}

.photobooth_tab_btn.active {
    background-color: #916a46;
    color: #fff;
}
/* Úprava přepínačů ceníku pro mobilní zařízení */
@media (max-width: 767px) {
    .photobooth_tabs_nav {
        /* Přidáme kontejneru trochu ohebnosti pod sebou */
        display: block;
        padding: 0 15px;
    }
    
    .photobooth_tabs_nav .photobooth_tab_btn {
        display: block;
        width: 100%;          /* Tlačítka roztáhneme na celou dostupnou šířku */
        max-width: 300px;     /* Aby nebyla na obřích mobilech moc široká, omezíme je */
        margin: 10px auto !important; /* Vycentrujeme je a dáme jim mezi sebou mezeru */
        box-sizing: border-box;
    }
}
/* Odstranění systémového zvýraznění pro mobilní odkaz menu */
a.btn_mobile_menu {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    text-decoration: none !important; /* Kdyby měl odkaz snahu se podtrhávat */
}

a.btn_mobile_menu:focus,
a.btn_mobile_menu:active,
a.btn_mobile_menu:hover {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* ==========================================================================
   CLS fix (blok 1)
   ========================================================================== */

/* --- Karusel na úvodní stránce: rezervace místa před inicializací Owlu ---
   Owl počítá šířku slajdu jako (šířka kontejneru / items) - margin (30 px),
   slajd je čtverec a nahoře i dole je padding 30 px (15 px na ≤415 px).
   4 slajdy od 767 px, jinak 2 (musí odpovídat "responsive" v js/index.js). */
.owl-carousel.photobooth_slider3i {
    --slider-h: calc(50vw + 45px);          /* 2 slajdy: ((W+30)/2 - 30) + 2×30 */
    display: block;                         /* Owl CSS jinak drží display:none do inicializace */
    box-sizing: border-box;
    min-height: var(--slider-h);
}
@media only screen and (min-width: 767px) {
    .owl-carousel.photobooth_slider3i {
        --slider-h: calc(25vw + 37.5px);    /* 4 slajdy: ((W+30)/4 - 30) + 2×30 */
    }
}
@media only screen and (max-width: 415px) {
    .owl-carousel.photobooth_slider3i {
        --slider-h: calc(50vw + 15px);      /* ((W+30)/2 - 30) + 2×15 */
    }
}
/* Před inicializací: pevná výška, nic nepřetéká a nic není vidět */
.owl-carousel.photobooth_slider3i:not(.owl-loaded) {
    height: var(--slider-h);
    overflow: hidden;
    visibility: hidden;
}

/* --- Galerie (svatby, portréty, reportáže, cestování, úvod) ---
   CSS mřížka o 3 sloupcích. Fotky jsou v HTML v pořadí po řádcích, takže stejné pořadí mají
   na obrazovce, v lightboxu (Swipebox) i pro čtečky obrazovky. Fotky v každém řádku mají stejné
   rozměry, proto řádky do sebe přesně zapadají (stejně jako dřív s Isotope). */
.photobooth_masonry_gallery .grid1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
}
.photobooth_masonry_gallery .grid1 .grid-item {
    width: 100%;
}
.photobooth_masonry_gallery .grid1 .grid-item img {
    display: block;
    width: 100%;
    height: auto;
}
@media only screen and (max-width: 769px) {
    .photobooth_masonry_gallery .grid1 {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* --- Oprava: "neskládané animace" (visibility) v PageSpeed ---
   Globální a { transition: all } přehrávalo přechod i na dědičné visibility
   odkazů uvnitř karuselu při přepnutí hidden -> visible. */
.owl-carousel.photobooth_slider3i a {
    -webkit-transition: none;
    transition: none;
}

/* --- Oprava: kontrast textu (WCAG AA, min. 4,5 : 1) ---
   Značková zlatá #bc9774 měla na bílé jen 2,7 : 1. Na celém webu je nahrazena
   tmavším odstínem #916a46 (na bílé 4,8 : 1, bílý text na něm také 4,8 : 1). */

/* ==========================================================================
   Kontaktní formulář (blok 3)
   ========================================================================== */

/* Text určený jen čtečkám obrazovky (popisky polí, past na roboty) */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Stavová zpráva pod formulářem. Místo je rezervované předem,
   takže se při zobrazení zprávy nic neposune (CLS). */
.form-message {
    min-height: 3em;
    margin-top: 15px;
    font-weight: bold;
}
.form-message--success {
    color: #916a46;          /* na bílé 4,8 : 1 */
}
.form-message--error {
    color: #b3261e;          /* na bílé 6,5 : 1 */
}

.photobooth_form input[type="submit"]:disabled {
    opacity: 0.6;
    cursor: wait;
}

/* Nadpis o úroveň výš (h2), ale vzhledově stále jako h3 */
.h3-look {
    font-size: 20px;
    line-height: 30px;
}

/* ==========================================================================
   Stránka 404
   ========================================================================== */
.notfound {
    padding: 90px 15px 110px;
    text-align: center;
}
.notfound-code {
    margin: 0;
    font-size: 110px;
    line-height: 1.1;
    font-weight: 300;
    letter-spacing: 0.04em;
    color: #916a46;
}
.notfound h1 {
    margin-top: 10px;
}
.notfound p {
    max-width: 600px;
    margin: 20px auto 0;
}
.notfound .photobooth_404_btn {
    margin-top: 35px;
}
.notfound-links {
    margin-top: 35px;
}
.notfound-links a {
    display: inline-block;
    margin: 6px 12px;
}
@media only screen and (max-width: 480px) {
    .notfound {
        padding: 50px 15px 70px;
    }
    .notfound-code {
        font-size: 80px;
    }
}

/* Tlačítko vzhledem jako odkaz (patička: "Nastavení cookies").
   Přebíjí obecný styl <button> z kube.css včetně stavu :hover. */
.link-button,
.link-button:hover,
.link-button:focus {
    min-height: 0;
    margin: 0;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}
.link-button:hover,
.link-button:focus-visible {
    color: #fff;
}

/* Patička: copyright zůstává uprostřed, "Nastavení cookies" je na stejném řádku úplně vpravo */
.photobooth_copy_text {
    position: relative;
}
.photobooth_copy_text .link-button {
    position: absolute;
    top: 1px;
    right: 20px;
}
/* Na užších displejích by se text a odkaz překrývaly, proto je odkaz pod textem */
@media only screen and (max-width: 860px) {
    .photobooth_copy_text .link-button {
        position: static;
        display: block;
        margin: 4px auto 0;
    }
}

/* ==========================================================================
   Statický první slajd (poster) – zobrazí se hned z HTML, dokud se nespustí Owl.
   Díky tomu nemusí LCP čekat na jQuery + Owl + index.js.
   Poloha odpovídá prvnímu (středovému) slajdu karuselu (šířka slajdu = (W + 30) / počet − 30,
   vystředěno), poster je ale o 6 px širší a o 3 px výš. Díky tomu je jeho plocha vždy větší než
   plocha prvního slajdu po spuštění Owlu, takže se LCP "nepřepíše" na pozdější čas.
   ========================================================================== */
.slider-wrap {
    position: relative;
}
.slider-poster {
    position: absolute;
    top: 27px;
    left: 50%;
    width: calc(25% - 16.5px);              /* 4 slajdy; o 6 px širší než skutečný slajd (viz níže) */
    transform: translateX(-50%);
}
.slider-poster img {
    display: block;
    width: 100%;
    height: auto;
}
@media only screen and (max-width: 766px) {
    .slider-poster {
        width: calc(50% - 9px);             /* 2 slajdy; o 6 px širší než skutečný slajd */
    }
}
@media only screen and (max-width: 415px) {
    .slider-poster {
        top: 12px;
    }
}
/* Jakmile se karusel spustí, poster zmizí a na stejném místě je skutečný první slajd */
.photobooth_slider3i.owl-loaded + .slider-poster {
    display: none;
}
