/*
Theme Name: TATRYPREMIUM | Apartmán Kežmarok
Theme URI: https://wordpress.org/themes/tatrypremium/
Author: Go4web.sk
Author URI: https://www.go4web.sk/
Description: Built on a solidly designed foundation, Twenty Twenty-Two embraces the idea that everyone deserves a truly unique website. The theme’s subtle styles are inspired by the diversity and versatility of birds: its typography is lightweight yet strong, its color palette is drawn from nature, and its layout elements sit gently on the page. The true richness of Twenty Twenty-Two lies in its opportunity for customization. The theme is built to take advantage of the Site Editor features introduced in WordPress 5.9, which means that colors, typography, and the layout of every single page on your site can be customized to suit your vision. It also includes dozens of block patterns, opening the door to a wide range of professionally designed layouts in just a few clicks. Whether you’re building a single-page website, a blog, a business website, or a portfolio, Twenty Twenty-Two will help you create a site that is uniquely yours.
Requires at least: 6.6.1.
Tested up to: 6.6.1.
Requires PHP: 7.4
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tatrypremium
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, accessibility-ready

TATRYPREMIUM. | Apartmán Kežmarok WordPress Theme, (C) 2021 WordPress.org
TATRYPREMIUM. | Apartmán Kežmarok is distributed under the terms of the GNU GPL.
*/

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */
@charset "UTF-8";

/* CUSTOM NAVIGATION */
.header .logo img {
    max-height: 66px;
    margin-right: 8px;
}

.page-title .breadcrumbs ol li+li {
    padding-left: 10px;
    color: #fff;
}

/* CUSTOM APARTMAN */
.rooms-3 .curated-showcase .showcase-banner .banner-overlay .banner-meta .meta-item span[class^="flaticon-"] {
  color: color-mix(in srgb, var(--accent-color), white 20%);
  font-size: 0.9rem;
}

.rooms-3 .category-strip .strip-item .strip-icon span[class^="flaticon-"] {font-size: 2.0em;}

.room-details-2 .room-gallery .gallery-thumbnails {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}

/* WP Booking System - apartment detail */
.room-details-2 .booking-form {
  background-color: var(--surface-color);
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 88%);
  border-radius: 8px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
  padding: 24px;
}

.room-details-2 .booking-form .wpbs-main-wrapper,
.room-details-2 .booking-form .wpbs-container,
.room-details-2 .booking-form .wpbs-calendars-wrapper,
.room-details-2 .booking-form .wpbs-calendars,
.room-details-2 .booking-form .wpbs-calendar,
.room-details-2 .booking-form .wpbs-form-container {
  width: 100%;
  max-width: none !important;
  min-width: 0 !important;
}

.room-details-2 .booking-form .wpbs-container h2,
.room-details-2 .booking-form .wpbs-skip-to-content-link {
  display: none;
}

.room-details-2 .booking-form .wpbs-calendar {
  margin: 0;
}

.room-details-2 .booking-form .wpbs-calendar-header {
  margin-bottom: 14px;
}

.room-details-2 .booking-form .wpbs-calendar-header-navigation {
  display: grid;
  /*grid-template-columns: 40px 1fr 40px;*/
  grid-template-columns: 1fr;
  align-items: center;
  gap: 10px;
}

.room-details-2 .booking-form .wpbs-calendar-header-navigation button,
.room-details-2 .booking-form .wpbs-coupon-code-button,
.room-details-2 .booking-form .wpbs-form-submit-button button {
  border: 0;
  transition: all 0.3s ease;
}

.room-details-2 .booking-form .wpbs-calendar-header-navigation button {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
  color: var(--accent-color);
}

.room-details-2 .booking-form .wpbs-calendar-header-navigation button:hover {
  background-color: var(--accent-color);
  color: var(--contrast-color);
}

.room-details-2 .booking-form .wpbs-calendar-header-navigation .wpbs-arrow {
  border-color: none;
}

.room-details-2 .booking-form .wpbs-select-container select {
  width: 100%;
  min-height: 40px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
  border-radius: 8px;
  background-color: var(--surface-color);
  color: var(--heading-color);
  font-size: 14px;
  font-weight: 600;
  padding: 8px 12px;
}

.room-details-2 .booking-form .wpbs-calendar-wrapper {
  min-height: 0 !important;
}

.room-details-2 .booking-form .wpbs-calendar table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 6px;
  margin: 0;
}

.room-details-2 .booking-form .wpbs-calendar th {
  height: auto !important;
  color: color-mix(in srgb, var(--default-color), transparent 35%);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  padding: 0 0 4px;
}

.room-details-2 .booking-form .wpbs-calendar td {
  padding: 0;
}

.room-details-2 .booking-form .wpbs-date {
  position: relative;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 88%);
  border-radius: 4px;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--surface-color), var(--default-color) 2%);
}

.room-details-2 .booking-form .wpbs-date-inner {
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  height: 42px !important;
  line-height: 42px !important;
  border-radius: 4px;
  color: var(--heading-color);
  font-size: 13px;
  font-weight: 600;
}

.room-details-2 .booking-form .wpbs-calendar .wpbs-legend-item-icon {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border-radius: 4px;
  overflow: hidden;
  z-index: 1;
}

.room-details-2 .booking-form .wpbs-calendar .wpbs-legend-item-icon-color {
  width: 100%;
  height: 100%;
}

.room-details-2 .booking-form .wpbs-gap {
  background-color: transparent;
  border-color: transparent;
}

.room-details-2 .booking-form .wpbs-gap .wpbs-date-inner {
  color: transparent;
}

.room-details-2 .booking-form .wpbs-container .wpbs-legend-item-icon-1 div:first-of-type,
.room-details-2 .booking-form .wpbs-container .wpbs-legend-item-1 .wpbs-legend-item-icon div:first-of-type {
  background-color: #eaf6e6 !important;
}

.room-details-2 .booking-form .wpbs-container .wpbs-legend-item-icon-2 div:first-of-type,
.room-details-2 .booking-form .wpbs-container .wpbs-legend-item-2 .wpbs-legend-item-icon div:first-of-type {
  background-color: #f8ddd9 !important;
}

.room-details-2 .booking-form .wpbs-legend-item-1 {
  border-color: #c6dfbd;
}

.room-details-2 .booking-form .wpbs-legend-item-2 {
  border-color: #e7bbb4;
}

.room-details-2 .booking-form .wpbs-is-bookable {
  cursor: pointer;
}
/*
.room-details-2 .booking-form .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-is-bookable:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type,
.room-details-2 .booking-form .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type,
.room-details-2 .booking-form .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover.wpbs-selected-first.wpbs-selected-last .wpbs-legend-item-icon div:first-of-type {
  background-color: color-mix(in srgb, var(--accent-color), white 68%) !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type,
.room-details-2 .booking-form .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected.wpbs-selected-first.wpbs-selected-last .wpbs-legend-item-icon div:first-of-type,
.room-details-2 .booking-form .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-date-selected:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type {
  background-color: var(--accent-color) !important;
}*/
/* my updates*/
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-selected-dates .wpbs-form-selected-date:nth-child(1) {
    width: 100% !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field:not(.wpbs-form-field-hidden) {
    padding-bottom: 10px !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-selected-dates .wpbs-form-selected-date:nth-child(2) {
    width: 100% !important;
    margin-left: 0% !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container {
    padding: 0px 0 20px 0 !important;
    max-width: 500px !important;
    margin: 0 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=email], .room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=number], .room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=text] {
  border-radius: 4px !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button.wpbs-coupon-code-button {
  min-height: 3.5rem !important;
  height: 3.5rem !important;
  padding: 0 18px !important;
  border-radius: 0 4px 4px 0 !important;
  background-color: var(--accent-color) !important;
  color: var(--contrast-color) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button[type=submit], .room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=submit] {
    width: 100% !important;
    min-height: 3.6rem !important;
    border-radius: 4px !important;
    background-color: var(--accent-color) !important;
    color: var(--contrast-color) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    box-shadow: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button[type=submit]:disabled,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=submit]:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button.wpbs-coupon-code-button:hover,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button[type=submit]:hover,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=submit]:hover {
    background-color: color-mix(in srgb, var(--accent-color), #000 12%) !important;
    color: var(--contrast-color) !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar-wrapper {
    min-height: 0 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 44px !important;
    line-height: 44px !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date .wpbs-date-inner .wpbs-date-number {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--heading-color) !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-legend-item-icon[data-type="split"] .wpbs-legend-item-icon-color,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-selected .wpbs-legend-icon-select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: transparent !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-legend-item-icon[data-type="split"] svg,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-selected .wpbs-legend-icon-select svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-legend-item-icon-3 div:first-of-type svg,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-legend-item-icon-4 div:nth-of-type(2) svg {
    fill: #eaf6e6 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-legend-item-icon-3 div:nth-of-type(2) svg,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-legend-item-icon-4 div:first-of-type svg {
    fill: #f8ddd9 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-selected .wpbs-legend-icon-select svg polygon {
    /*fill: var(--accent-color) !important;*/
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-selected .wpbs-date-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    color: var(--heading-color) !important;
    line-height: inherit !important;
    box-shadow: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-selected-first,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-selected-last {
    border-color: color-mix(in srgb, var(--default-color), transparent 88%) !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today {
    border-color: #9fcfe3 !important;
    box-shadow: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today .wpbs-legend-item-icon-color,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today .wpbs-legend-item-icon-color svg {
    background-color: #dff2fb !important;
    fill: #dff2fb !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today .wpbs-date-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    color: var(--heading-color) !important;
    line-height: inherit !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today .wpbs-date-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today::after {
    content: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date .wpbs-date-number,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-selected .wpbs-date-number,
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date-today .wpbs-date-number {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--heading-color) !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date:not(.wpbs-gap):not(.wpbs-is-bookable):not(.wpbs-date-today).wpbs-legend-item-1 {
    cursor: not-allowed !important;
    opacity: 1 !important;
    filter: grayscale(0.25) !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-calendar .wpbs-date:not(.wpbs-gap):not(.wpbs-is-bookable):not(.wpbs-date-today).wpbs-legend-item-1::after {
    content: none !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-selected-dates {
    gap: 8px !important;
    margin: 0 0 14px 0 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-selected-dates .wpbs-form-selected-date .wpbs-form-field {
    min-height: 3.4rem !important;
    padding: 0 14px !important;
    background-color: #fff !important;
    border-color: color-mix(in srgb, var(--default-color), transparent 84%) !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-selected-dates .wpbs-form-field-label span {
    font-size: 14px !important;
    font-weight: 700 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-selected-dates .wpbs-form-field-input {
    color: color-mix(in srgb, var(--default-color), transparent 35%) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type=email],
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type=number],
.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type=text] {
    min-height: 3.5rem !important;
    height: 3.5rem !important;
    padding: 12px 14px !important;
    background-color: #fff !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-coupon-code {
    gap: 0 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-coupon-code input[type=text] {
    border-radius: 4px 0 0 4px !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-total-price {
    padding: 12px 14px !important;
    border-radius: 4px !important;
    background-color: color-mix(in srgb, var(--default-color), transparent 96%) !important;
    color: color-mix(in srgb, var(--default-color), transparent 28%) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-payment-method-label {
    position: relative !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    color: var(--default-color) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-payment-method-label input[type=radio] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    accent-color: var(--accent-color) !important;
}

.room-details-2 .booking-form .wpbs-main-wrapper .wpbs-form-container .wpbs-payment-method-description {
    margin: -4px 0 10px 28px !important;
    color: color-mix(in srgb, var(--default-color), transparent 40%) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}


.room-details-2 .room-gallery .gallery-thumbnails
 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}
.room-details-2 .room-gallery .gallery-thumbnails img
 {
    transition: all 0.4s;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}
.room-details-2 .room-header-image {
    position: relative;
}

.room-details-2 .room-header-image .room-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: var(--accent-color);
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  z-index: 1;
}

/* End / my updates */

.room-details-2 .booking-form .wpbs-date-selected .wpbs-date-inner {
  color: var(--contrast-color);
}

.room-details-2 .booking-form .wpbs-date-today:not(.wpbs-date-hover):not(.wpbs-date-selected) .wpbs-legend-item-icon {
  border-color: #9fcfe3 !important;
}

.room-details-2 .booking-form .wpbs-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin: 18px 0 24px;
  padding: 14px 16px;
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--default-color), transparent 96%);
}

.room-details-2 .booking-form .wpbs-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--default-color);
  font-size: 13px;
  font-weight: 500;
}

.room-details-2 .booking-form .wpbs-legend .wpbs-legend-item-icon {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  overflow: hidden;
}

.room-details-2 .booking-form .wpbs-form-container {
  margin-top: 10px;
}

.room-details-2 .booking-form .wpbs-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  /*gap: 18px;*/
  gap:10px;
}

.room-details-2 .booking-form .wpbs-form-selected-dates,
.room-details-2 .booking-form .wpbs-form-fields > .wpbs-form-field {
  grid-column: 1 / -1;
}

.room-details-2 .booking-form .wpbs-form-selected-dates {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 4px;
}

.room-details-2 .booking-form .wpbs-form-field {
  margin: 0;
}

.room-details-2 .booking-form .wpbs-form-field-label,
.room-details-2 .booking-form .wpbs-form-field-label label,
.room-details-2 .booking-form .wpbs-form-field-label span {
  display: block;
  margin: 0 0 7px;
  color: var(--heading-color);
  font-size: 14px;
  font-weight: 600;
}

.room-details-2 .booking-form .wpbs-field-required-asterisk {
  color: var(--accent-color);
  margin-left: 2px;
}

.room-details-2 .booking-form .wpbs-form-field-input input,
.room-details-2 .booking-form .wpbs-form-field-input textarea,
.room-details-2 .booking-form .wpbs-form-field-input select,
.room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field-input {
  width: 100%;
  min-height: 3.5rem;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
  border-radius: 8px;
  background-color: var(--surface-color);
  color: var(--default-color);
  font-size: 15px;
  padding: 12px 15px;
}

.room-details-2 .booking-form .wpbs-form-field-input textarea {
  min-height: 130px;
  resize: vertical;
}

.room-details-2 .booking-form .wpbs-form-field-input input:focus,
.room-details-2 .booking-form .wpbs-form-field-input textarea:focus,
.room-details-2 .booking-form .wpbs-form-field-input select:focus,
.room-details-2 .booking-form .wpbs-select-container select:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--accent-color), transparent 90%);
  outline: 0;
}

.room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field-input {
  display: flex;
  align-items: center;
  color: color-mix(in srgb, var(--default-color), transparent 35%);
}

.room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field {
  display: grid;
  grid-template-columns: minmax(120px, 0.85fr) 1fr;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 88%);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--default-color), transparent 97%);
}

.room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field-label,
.room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field-label span {
  margin: 0;
  font-size: 13px;
}

.room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field-input {
  justify-content: flex-end;
  min-height: auto;
  border: 0;
  background-color: transparent;
  color: var(--heading-color);
  font-size: 13px;
  font-weight: 600;
  padding: 0;
  text-align: right;
}

.room-details-2 .booking-form .wpbs-coupon-code {
  display: flex;
  gap: 10px;
}

.room-details-2 .booking-form .wpbs-coupon-code input {
  flex: 1 1 auto;
}

.room-details-2 .booking-form .wpbs-coupon-code-button,
.room-details-2 .booking-form .wpbs-form-submit-button button {
  background-color: var(--accent-color) !important;
  color: var(--contrast-color) !important;
  font-weight: 600;
  border-radius: 8px;
  box-shadow: 0 5px 15px color-mix(in srgb, var(--accent-color), transparent 70%);
}

.room-details-2 .booking-form .wpbs-coupon-code-button {
  flex: 0 0 auto;
  padding: 0 16px;
  font-size: 13px;
}

.room-details-2 .booking-form .wpbs-form-submit-button {
  margin-top: 22px;
}

.room-details-2 .booking-form .wpbs-form-submit-button button {
  width: 100%;
  min-height: 3.5rem;
  padding: 12px 30px;
  font-size: 16px;
  letter-spacing: 1px;
}

.room-details-2 .booking-form .wpbs-coupon-code-button:hover,
.room-details-2 .booking-form .wpbs-form-submit-button button:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 15%) !important;
  /*transform: translateY(-3px);*/
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color), transparent 60%);
}

.room-details-2 .booking-form .wpbs-payment-method-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 12px 15px;
  /*border: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);*/
  border-radius: 8px;
  color: var(--heading-color);
  font-weight: 600;
}

.room-details-2 .booking-form .wpbs-payment-method-label input {
  width: auto;
  min-height: 0;
  accent-color: var(--accent-color);
}

.room-details-2 .booking-form .wpbs-payment-method-description {
  margin: -4px 0 12px 32px;
  color: color-mix(in srgb, var(--default-color), transparent 35%);
  font-size: 13px;
}

.room-details-2 .booking-form .wpbs-total-price {
  color: var(--heading-color);
  font-weight: 600;
}

@media (max-width: 1199px) {
  .room-details-2 .booking-form {
    padding: 24px;
  }

  .room-details-2 .booking-form .wpbs-date-inner {
    height: 38px !important;
    line-height: 38px !important;
  }
}

@media (max-width: 576px) {
  .room-details-2 .booking-form {
    padding: 20px;
  }

  .room-details-2 .booking-form .wpbs-form-fields,
  .room-details-2 .booking-form .wpbs-form-selected-dates {
    grid-template-columns: 1fr;
  }

  .room-details-2 .booking-form .wpbs-coupon-code {
    flex-direction: column;
  }

  .room-details-2 .booking-form .wpbs-coupon-code-button {
    min-height: 3.25rem;
  }

  .room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .room-details-2 .booking-form .wpbs-form-selected-date .wpbs-form-field-input {
    justify-content: flex-start;
    text-align: left;
  }
}

.services .services-showcase .activity-item {
  display: flex;
  flex-direction: row;
}

.services .services-showcase .featured-service,
.services .services-showcase .services-list {
  width: 50%;
}

/* Každá druhá dvojica bude opačne: 3-4, 7-8, 11-12, ... */
.services .services-showcase .activity-item:nth-child(4n + 3),
.services .services-showcase .activity-item:nth-child(4n + 4) {
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .services .services-showcase .activity-item,
  .services .services-showcase .activity-item:nth-child(4n + 3),
  .services .services-showcase .activity-item:nth-child(4n + 4) {
    flex-direction: column;
  }

  .services .services-showcase .featured-service,
  .services .services-showcase .services-list {
    width: 100%;
  }
}


.services .services-showcase .services-list .service-item {
    flex: 0;
    display: flex;
    align-items: center;
    flex-direction: column;

}

.services .services-showcase .services-list .service-item .service-content h4 a {
    color: var(--heading-color);
    color: #ffffff !important;
    font-weight: 600;
    letter-spacing: 1px;
}


.services .services-showcase .services-list .service-item .service-content p {
    color: #ffffff !important;
}

.services .services-showcase .services-list .service-item .service-icon {
    width: 120px;
    height: 120px;
    justify-content: flex-start;
    margin-right: 2rem;
}
.services .services-showcase .services-list .service-item .service-icon i {
    font-size: 3.5rem;
    color: #FFFFFF;
}

.services .services-showcase .services-list .service-item .view-all {
  background-color: var(--accent-color);
  color: var(--contrast-color);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 18px 48px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 75%);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: all 0.5s ease;
}

.services .services-showcase .services-list .service-item .view-all:hover {
  color: var(--contrast-color);
  background-color: var(--default-color);
  border-color: var(--accent-color);
}

.services .services-showcase .services-list .service-item .view-all i {
  font-size: 0.75rem;
  transition: transform 0.5s ease;
}

/* CUSTOM CONTACT FORM */

.contact .contact-form-wrapper .ar-email-form {
  background-color: var(--surface-color);
  border-radius: 12px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
  padding: 40px;
}

.contact .contact-form-wrapper .ar-email-form h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 30px;
  position: relative;
}

.contact .contact-form-wrapper .ar-email-form h2:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  width: 50px;
  height: 3px;
  background-color: var(--accent-color);
}

.contact .contact-form-wrapper .ar-email-form .form-group {
  margin-bottom: 20px;
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon {
  position: relative;
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon i {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  font-size: 18px;
  z-index: 10;
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon i.message-icon {
  top: 28px;
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon textarea+i {
  top: 25px;
  transform: none;
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon .form-control {
  border-radius: 8px;
  padding: 12px 15px 12px 45px;
  height: 3.5rem;
  color: var(--default-color);
  background-color: var(--surface-color);
  font-size: 15px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon .form-control:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--accent-color), transparent 90%);
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon .form-control::placeholder {
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.contact .contact-form-wrapper .ar-email-form .form-group .input-with-icon textarea.form-control {
  height: 180px;
  resize: none;
  padding-top: 15px;
}

.contact .contact-form-wrapper .ar-email-form .btn-submit {
  background-color: var(--accent-color);
  border: none;
  color: var(--contrast-color);
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  border-radius: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px color-mix(in srgb, var(--accent-color), transparent 70%);
}

.contact .contact-form-wrapper .ar-email-form .btn-submit:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 15%);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color), transparent 60%);
}

.contact .contact-form-wrapper .ar-email-form .btn-submit:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--accent-color), transparent 70%);
}

.contact .contact-form-wrapper .ar-email-form .loading,
.contact .contact-form-wrapper .ar-email-form .error-message,
.contact .contact-form-wrapper .ar-email-form .sent-message {
  margin-top: 10px;
  margin-bottom: 20px;
}

/* post section - aktivity */

.posts-section-2 .lead-story .lead-content {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 20px;
  text-align: justify;
}
.posts-section-2 .tab-content .listed-item .wp-block-paragraph {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 20px;
  text-align: justify;
}

/* END / post section - aktivity */

/* apartment ametity */
.room-details-2 .room-description p {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 20px;
  text-align: justify;
}

.room-details-2 .room-amenities .amenity-category h5 {
  color: var(--accent-color);
  font-size: 1.1rem;
  margin-bottom: 15px;
  font-weight: 600;
}

.room-details-2 .room-amenities .amenity-category ul {
  list-style: none;
  padding: 0;
}

.room-details-2 .room-amenities .amenity-category ul li {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 15px;
}

.room-details-2 .room-amenities .amenity-category ul li i {
  color: var(--accent-color);
  margin-right: 10px;
  font-size: 18px;
}

/* END / apartman ametity */

/* Neutral default page template */
.default-page {
  background-color: var(--background-color);
}

.default-page__content {
  max-width: 860px;
  margin: 0 auto;
  color: color-mix(in srgb, var(--default-color), transparent 12%);
  font-size: 1rem;
  line-height: 1.75;
}

.default-page__content > *:first-child {
  margin-top: 0;
}

.default-page__content > *:last-child {
  margin-bottom: 0;
}

.default-page__content h2,
.default-page__content h3,
.default-page__content h4,
.default-page__content h5,
.default-page__content h6 {
  color: var(--heading-color);
  font-weight: 600;
  line-height: 1.25;
}

.default-page__content h2 {
  margin: 0 0 22px;
  font-size: 2rem;
}

.default-page__content h3 {
  margin: 36px 0 18px;
  font-size: 1.45rem;
}

.default-page__content h4,
.default-page__content h5,
.default-page__content h6 {
  margin: 28px 0 14px;
}

.default-page__content p,
.default-page__content ul,
.default-page__content ol,
.default-page__content table,
.default-page__content blockquote {
  margin-bottom: 20px;
}

.default-page__content ul,
.default-page__content ol {
  padding-left: 1.35rem;
}

.default-page__content li {
  margin-bottom: 8px;
}

.default-page__content a {
  color: var(--accent-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.default-page__content a:hover {
  color: color-mix(in srgb, var(--accent-color), #000 18%);
}

.default-page__content blockquote {
  padding: 18px 22px;
  border-left: 4px solid var(--accent-color);
  background-color: color-mix(in srgb, var(--default-color), transparent 96%);
  color: color-mix(in srgb, var(--default-color), transparent 18%);
}

.default-page__content img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.default-page__content table {
  width: 100%;
  border-collapse: collapse;
}

.default-page__content th,
.default-page__content td {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 86%);
  vertical-align: top;
}

.default-page__content th {
  color: var(--heading-color);
  font-weight: 600;
  background-color: color-mix(in srgb, var(--default-color), transparent 96%);
}

.default-page__content .wp-block-table {
  overflow-x: auto;
}

.default-page__content .page-links {
  margin-top: 30px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .default-page__content {
    font-size: 0.98rem;
    line-height: 1.68;
  }

  .default-page__content h2 {
    font-size: 1.65rem;
  }

  .default-page__content h3 {
    font-size: 1.28rem;
  }
}


@media (max-width: 992px) {
  .contact .form-container-overlap {
    margin-top: -120px;
  }

  .contact .contact-form-wrapper .ar-email-form {
    padding: 30px;
  }
}

@media (max-width: 768px) {
  .contact .contact-info-box {
    margin-bottom: 20px;
  }

  .contact .form-container-overlap {
    margin-top: -100px;
  }

  .contact .contact-form-wrapper .ar-email-form {
    padding: 25px;
  }

  .contact .contact-form-wrapper .ar-email-form h2 {
    font-size: 24px;
  }

  .contact .map-section {
    height: 450px;
  }
}

@media (max-width: 576px) {
  .contact .form-container-overlap {
    margin-top: -80px;
  }

  .contact .contact-form-wrapper .ar-email-form {
    padding: 20px;
  }

  .contact .btn-submit {
    width: 100%;
  }

  .contact .map-section {
    height: 400px;
  }
}
