/**
Theme Name: pirita
Author: Kirill Petrenko
Author URI: https://sitedesign.ee
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pirita
Template: astra
*/

a.elementor-item.elementor-item-active.menu-link,
a.elementor-item:hover {
    border-bottom: 1px solid;
}


.mphb-login-form-wrap a,
.mphb-room-type-title a,
a.woocommerce-privacy-policy-link {
    color: #1964df;
}

.mphb-login-form-wrap a:hover,
.mphb-room-type-title a:hover,
a.woocommerce-privacy-policy-link:hover {
    color: #618fd8;
}




/* Основные стили формы */
.mphb_sc_search-wrapper {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
    padding: 30px;
    margin: 50px 0;
}

.mphb_sc_search-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    align-items: end;
}

/* Стили для всех элементов формы */
.mphb_sc_search-form>p {
    margin: 0;
    position: relative;
}

.mphb_sc_search-form label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: #2d3748;
    margin-bottom: 8px;
}

.mphb_sc_search-form input[type="text"],
.mphb_sc_search-form select {
    width: 100%;
    padding: 15px 45px 15px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background-color: #f8fafc;
    font-size: 16px;
    transition: all 0.3s ease;
    height: 52px;
    box-sizing: border-box;
}

.mphb_sc_search-form input[type="text"]:focus,
.mphb_sc_search-form select:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
    outline: none;
    background-color: #ffffff;
}

/* Стили для иконок */
.mphb_sc_search-form>p:after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}

.mphb_sc_search-check-in-date:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234a5568"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>');
}

.mphb_sc_search-check-out-date:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234a5568"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>');
}

.mphb_sc_search-adults:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234a5568"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>');
}

.mphb_sc_search-children:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234a5568"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>');
}

/* Стили для кнопки */
.mphb_sc_search-submit-button-wrapper {
    grid-column: span 1;
    align-self: end;
}

.mphb_sc_search-form input[type="submit"] {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    border: none;
    color: white;
    padding: 16px 25px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    height: 52px;
    box-shadow: 0 4px 6px rgba(59, 130, 246, 0.2);
}

.mphb_sc_search-form input[type="submit"]:hover {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(59, 130, 246, 0.3);
}

body:not(.home) #content {
  padding-left: 15px;
  padding-right: 15px;
}

/* Адаптивность */
@media (max-width: 900px) {
    .mphb_sc_search-form {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }
}

@media (max-width: 921px) {
    #astra-footer-menu {
        text-align: center;
    }
}

@media (max-width: 767px) {
    .wpml-ls-legacy-list-horizontal>ul {
        text-align: center;
    }
}

@media (max-width: 600px) {
    .wpforms-field-container {
        overflow: hidden;
    }
}

@media (max-width: 768px) {
    .mphb_sc_search-form {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .mphb_sc_search-submit-button-wrapper {
        grid-column: span 1;
        margin-top: 10px;
    }
}

/* Стили для подсказки */
.mphb-required-fields-tip {
    grid-column: 1 / -1;
    margin-bottom: 15px !important;
    font-size: 13px;
    color: #718096;
    display: none;
}

/* Календарь даты */
.ui-datepicker {
    border-radius: 10px !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 15px !important;
    border: 1px solid #e2e8f0 !important;
}

/* Скрываем ненужные элементы */
.mphb_sc_search-form>p:has(input[type="hidden"]) {
    display: none;
}









.mphb_sc_rooms-wrapper .mphb-room-type:not(:first-of-type),
.mphb_sc_search_results-wrapper .mphb-room-type:not(:first-of-type),
.mphb_sc_services-wrapper .mphb-service:not(:first-of-type) {
    margin-top: 0;
}




.ast-container #container {
    width: 100%;
}

form#mphb-reservation-cart,
.mphb_sc_search_results-info {
    display: none;
}


/* Основная сетка */
.mphb-room-types,
.mphb_sc_search_results-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mphb_sc_search_results-wrapper .mphb-book-button {
    display: none !important;
}

/* Стили карточки */
.mphb-room-type {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mphb-room-type:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

/* Заголовок */
.mphb-room-type-title {
    font-size: 25px !important;
    width: calc(100% - 30px);
    margin: 0 auto;
}

/* Изображение */
/* .mphb-room-type-featured-image {
  overflow: hidden;
} */

.mphb-loop-room-thumbnail img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mphb-room-type:hover .mphb-loop-room-thumbnail img {
    transform: scale(1.03);
}


/* .mphb-room-type-content {
  padding: 0 20px 15px;
  flex-grow: 1;
}


.mphb-room-type-description {
  margin: 10px 0 15px;
  color: #666;
  line-height: 1.6;
} */


.mphb-room-type-details-title {
    display: none;
}

/* Детали (вместимость и т.д.) */
.mphb-loop-room-type-attributes {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
    margin: 15px 0;
    padding-left: 22px;
    padding-right: 10px;
}

.mphb-loop-room-type-attributes li {
    display: flex;
    /* align-items: center; */
    font-size: 0.9rem;
}

.mphb-room-type-facilities a {
    text-decoration: none !important;
    pointer-events: none !important;
    cursor: default !important;
    color: inherit !important;
}

.mphb-attribute-title {
    font-weight: bold;
}

span.mphb-attribute-value {
    margin-left: 10px;
}

.mphb-loop-room-type-attributes li::before {
    content: "✓";
    margin-right: 8px;
    color: #4CAF50;
}

/* Цена */
.mphb-regular-price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #2c3e50;
    margin: 10px 0;
    padding-left: 20px;
    padding-right: 20px;
}

.mphb-regular-price .mphb-price-period {
    font-size: 0.9rem;
    font-weight: normal;
    color: #7f8c8d;
}

/* Кнопки */
.mphb-view-details-button-wrapper {
    display: flex;
    gap: 10px;
    padding: 0 20px 20px;
    margin-top: auto;
}

.mphb-view-details-button,
.mphb-book-button {
    flex: 1;
    text-align: center;
    padding: 12px 15px;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s;
    text-decoration: none !important;
}

.mphb-view-details-button {
    background: #f8f9fa;
    color: #3498db;
    border: 1px solid #e0e0e0;
}

.mphb-book-button {
    background: #3498db;
    color: white;
    border: none;
}

.mphb-book-button:hover {
    background: #2980b9;
    transform: translateY(-2px);
}

.mphb-view-details-button:hover {
    background: #e3f2fd;
    border-color: #3498db;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .mphb-room-types {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .mphb-room-types {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .mphb-room-type {
        max-width: 500px;
        margin: 0 auto;
    }
}




/*---Странциа описания комнаты---*/


/* Основная сетка */
.single-mphb_room_type #content {
    margin: 0 auto;
    padding: 20px;
    color: #333;
    line-height: 1.6;
    max-width: 1160px;
}

/* Заголовок на всю ширину */
.single-mphb_room_type .mphb-room-type-title {
    text-align: center;
    margin: 0px 0 50px 0;
    color: #2c3e50;
    position: relative;
    padding-bottom: 15px;
}

.single-mphb_room_type .mphb-room-type-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background: #3498db;
}

.mphb-rooms-quantity-wrapper.mphb-rooms-quantity-multiple {
    display: none;
}


/* Стили для изображений */


.single-mphb_room_type .post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.single-mphb_room_type .post-thumbnail img:hover {
    transform: scale(1.02);
}

/* Галерея */

.single-mphb_room_type .mphb-room-type-gallery-wrapper img {
    /* border-radius: 8px; */
    transition: all 0.3s ease;
}

.single-mphb_room_type .mphb-room-type-gallery-wrapper img:hover {
    opacity: 0.9;
    /* transform: translateY(-3px); */
}

/* Список удобств */
.single-mphb_room_type .post-1557>ul {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    list-style: none;
    margin: 20px 0;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.single-mphb_room_type .post-1557>ul li {
    padding: 8px 0;
    position: relative;
    padding-left: 25px;
}

.single-mphb_room_type .post-1557>ul li::before {
    content: "•";
    color: #3498db;
    font-size: 1.4rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Цена */
.single-mphb_room_type .mphb-regular-price {
    font-size: 1.4rem;
    background: #e8f4fc;
    padding: 15px;
    border-radius: 8px;
    margin: 15px 0;
    width: 45%;
    float: right;
}

.single-mphb_room_type .mphb-price {
    color: #008b05;
    font-weight: bold;
    /* font-size: 1.6rem; */
}

/* Блок с деталями */
.single-mphb_room_type .mphb-single-room-type-attributes {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    /* margin-bottom: 30px; */
    margin: 0;
}

.single-mphb_room_type .mphb-single-room-type-attributes li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}

.single-mphb_room_type .mphb-single-room-type-attributes li:last-child {
    border-bottom: none;
}

.single-mphb_room_type .mphb-attribute-title {
    font-weight: 600;
    color: #2c3e50;
}

/* Календарь */
.single-mphb_room_type .mphb-calendar {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
    overflow-x: auto;
}

/* Форма бронирования */
.single-mphb_room_type #booking-form-1557 {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.single-mphb_room_type #booking-form-1557 input[type="text"],
.single-mphb_room_type #booking-form-1557 input[type="submit"] {
    width: 100%;
    padding: 14px;
    margin: 10px 0;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 1rem;
    box-sizing: border-box;
}

.single-mphb_room_type #booking-form-1557 input[type="submit"] {
    background: #3498db;
    color: white;
    border: none;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.3s;
}

.single-mphb_room_type #booking-form-1557 input[type="submit"]:hover {
    background: #2980b9;
}

/* Заголовки разделов */
.single-mphb_room_type .mphb-details-title,
.single-mphb_room_type .mphb-calendar-title,
.single-mphb_room_type .mphb-reservation-form-title {
    font-size: 1.6rem;
    color: #2c3e50;
    margin: 25px 0 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #3498db;
}


/* Дополнительные улучшения */
.single-mphb_room_type .mphb-required-fields-tip {
    font-size: 0.85rem;
    color: #7f8c8d;
    margin-bottom: 15px;
}

.single-mphb_room_type .mphb-check-in-date-wrapper,
.single-mphb_room_type .mphb-check-out-date-wrapper {
    margin-bottom: 15px;
}




.single-mphb_room_type .room-images {
    width: 50%;
    float: left;
    margin-right: 5%;
}

.single-mphb_room_type .mphb-datepicker-light-blue:not(.mphb-datepick-popup) {
    width: 100% !important;
}

.single-mphb_room_type .datepick-month-header {
    min-height: 45px;
}


/* Основной контейнер формы */
.single-mphb_room_type .mphb-booking-form--direct-booking {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}

/* Группировка полей ввода */
.single-mphb_room_type .mphb-check-in-date-wrapper,
.single-mphb_room_type .mphb-check-out-date-wrapper,
.single-mphb_room_type .mphb-reserve-btn-wrapper {
    flex: 1;
    min-width: 180px;
    margin: 0 !important;
}

/* Стили для меток и полей ввода */
.single-mphb_room_type .mphb-booking-form p[class*="wrapper"] label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
}

.single-mphb_room_type .mphb-booking-form input[type="text"],
.single-mphb_room_type .mphb-booking-form input[type="submit"] {
    width: 100%;
    box-sizing: border-box;
}

/* Стили для datepicker */
.single-mphb_room_type .mphb-datepick {
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f9f9f9;
}

/* Стили кнопок */
.single-mphb_room_type .mphb-reserve-btn,
.single-mphb_room_type .mphb-confirm-reservation {
    padding: 12px 20px;
    background: #3498db;
    color: white !important;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
}

.single-mphb_room_type .mphb-reserve-btn:hover,
.single-mphb_room_type .mphb-confirm-reservation:hover {
    background: #2980b9;
    transform: translateY(-2px);
}

/* Адаптивность */
@media (max-width: 768px) {
    .single-mphb_room_type .mphb-booking-form--direct-booking {
        flex-direction: column;
        align-items: stretch;
    }

    .single-mphb_room_type .mphb-check-in-date-wrapper,
    .single-mphb_room_type .mphb-check-out-date-wrapper,
    .single-mphb_room_type .mphb-reserve-btn-wrapper {
        min-width: 100%;
    }
}

/* Скрытие ненужных элементов */
.single-mphb_room_type .mphb-required-fields-tip,
.single-mphb_room_type .mphb-reserve-room-section.mphb-hide {
    display: none;
}


.single-mphb_room_type .gallery-icon {
    border-radius: 10px;
}


.footer-email {}

.footer-phone {}

.footer-address {}

#customer_details {
    display: none;
}











/* Основные стили формы бронирования */
.mphb_sc_checkout-form {
    /* max-width: 1200px; */
    margin: 30px auto;
    padding: 5.34em 6.67em;
    background: #fff;
    /* border-radius: 15px; */
    /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); */
    /* font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; */
    color: #333;
    line-height: 1.6;
}

/* Заголовки секций */
.mphb_sc_checkout-form h3,
.mphb_sc_checkout-form h4 {
    color: #2c3e50;
    margin-bottom: 25px;
    padding-bottom: 12px;
    border-bottom: 2px solid #3498db;
    /* font-weight: 600; */
    position: relative;
}

/* .mphb_sc_checkout-form h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 3px;
  background: #3498db;
} */

/* Сетка для разделов */
#mphb-booking-details,
#mphb-price-details,
#mphb-customer-details,
#mphb-billing-details {
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr; */
    gap: 40px;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
    overflow: visible;
}

#mphb-price-details,
#mphb-billing-details {
    /* grid-column: 1 / -1; */
}

/* Стили для дат заезда/выезда */
.mphb-check-in-date,
.mphb-check-out-date {
    background: #f8fafc;
    padding: 18px;
    border-radius: 10px;
    border-left: 4px solid #3498db;
    font-size: 1.1rem;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.mphb-check-in-date time,
.mphb-check-out-date time {
    color: #2c3e50;
    font-weight: 500;
}

/* Детали комнаты */
.mphb-room-details {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid #eee;
}

.mphb-room-number {
    display: none;
    color: #3498db;
    margin-top: 0;
    font-size: 1.4rem;
}

/* Выбор гостей и услуг */
.mphb-adults-chooser select,
.mphb-guest-name-wrapper input {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    background: #fff;
    margin-top: 8px;
}

.mphb-services-details {
    margin-top: 25px;
}

.mphb-services-details-title {
    font-size: 1.2rem;
    color: #2c3e50;
}

.mphb_checkout-services-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
    margin-left: 0;
}

.mphb_checkout-services-list li {
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.mphb_checkout-services-list li:last-child {
    border-bottom: none;
}

.mphb-checkbox-label {
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer;
    font-weight: 500;
}

.mphb_checkout-service {
    margin-right: 15px;
    width: 20px;
    height: 20px;
    accent-color: #3498db;
}

.mphb_checkout-service-adults {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 15px;
    background: #fff;
}

/* Таблица стоимости */
.mphb-room-price-breakdown-wrapper {
    overflow-x: auto;
}

.mphb-price-breakdown {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.05rem;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.mphb-price-breakdown th {
    text-align: left;
    font-weight: 600;
    color: #2c3e50;
    background: #f8f9fa;
}

.mphb-price-breakdown td,
.mphb-price-breakdown th {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
}

.mphb-price-breakdown tr:last-child td,
.mphb-price-breakdown tr:last-child th {
    border-bottom: none;
}

.mphb-price-breakdown tfoot th {
    font-size: 1.2rem;
    padding-top: 20px;
    background: #f8f9fa;
}

.mphb-price-breakdown-accommodation {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #3498db;
    font-weight: 500;
}

.mphb-price-breakdown-group .mphb-price {
    color: #008b05;
    font-weight: bold;
}

/* Информация о клиенте */
.mphb-customer-details>p {
    margin-bottom: 20px;
}

.mphb-customer-details input,
.mphb-customer-details textarea {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    margin-top: 8px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.mphb-customer-details textarea {
    min-height: 120px;
    resize: vertical;
}

/* Раздел оплаты */
#mphb-billing-details {
    background: #f8fafc;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.mphb-gateway-chooser-title {
    margin-top: 0;
}

.mphb-gateway-title {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.mphb-gateway-title:hover {
    border-color: #3498db;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

/* Итоговая цена и кнопка */
.mphb-total-price {
    text-align: right;
    font-size: 1.4rem;
    margin: 30px 0;
    padding: 20px;
    background: #e8f4fc;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.mphb-total-price-field {
    color: #008b05;
    font-size: 1.6rem;
    font-weight: bold;
}

.mphb_sc_checkout-submit-wrapper {
    text-align: center;
    margin-top: 30px;
}

.mphb_sc_checkout-submit-wrapper input[type="submit"] {
    background: #3498db;
    color: white;
    border: none;
    padding: 18px 45px;
    font-size: 1.2rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.mphb_sc_checkout-submit-wrapper input[type="submit"]:hover {
    background: #2980b9;
    transform: translateY(-2px);
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.15);
}

/* Сообщения об ошибках */
.mphb-errors-wrapper {
    background: #ffebee;
    color: #c0392b;
    padding: 15px;
    border-radius: 8px;
    margin: 20px 0;
    border-left: 4px solid #c0392b;
    font-weight: 500;
}

/* Адаптивность */
@media (max-width: 900px) {

    #mphb-booking-details,
    #mphb-customer-details {
        grid-template-columns: 1fr;
    }

    .mphb-room-details {
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .mphb_sc_checkout-form {
        padding: 20px;
    }

    .mphb-total-price {
        text-align: center;
    }

    .mphb_checkout-services-list li {
        flex-direction: column;
        align-items: flex-start;
    }

    .mphb_checkout-service-adults {
        margin-left: 35px;
        margin-top: 10px;
    }
}

/* Стилизация списка услуг как на странице описания */
.mphb_checkout-services-list li {
    /* padding: 8px 0; */
    position: relative;
    /* padding-left: 25px; */
}

/* .mphb_checkout-services-list li::before {
  content: "•";
  color: #3498db;
  font-size: 1.4rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
} */

/* Стилизация кнопок как на странице описания */
.mphb_sc_checkout-submit-wrapper input[type="submit"] {
    border-radius: 4px;
    padding: 12px 30px;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: normal;
}

/* Стилизация полей ввода как на странице описания */
.mphb-customer-details input,
.mphb-customer-details textarea,
.mphb-adults-chooser select,
.mphb-guest-name-wrapper input {
    border-radius: 6px;
    padding: 12px;
}

.mphb-check-in-date,
.mphb-check-out-date {
    margin: 30px 0 60px 0 !important;
}

.mphb-check-in-date {
    float: left;
    width: 49%;
}

.mphb-check-out-date {
    float: right;
    width: 49%;
}


.mphb-reserve-rooms-details {
    clear: both;
}

p.mphb-adults-chooser {
    float: left;
    width: 49%;
}

p.mphb-guest-name-wrapper {
    float: right;
    width: 49%;
}

#mphb-billing-details {
    display: none;
}

.mphb-customer-name {
    width: 49%;
    display: inline-block;
    margin-right: 1%;
}

.mphb-customer-last-name {
    width: 49%;
    display: inline-block;
}

.mphb-customer-email {
    width: 49%;
    display: inline-block;
    margin-right: 1%;
}

.mphb-customer-phone {
    width: 49%;
    display: inline-block;
}

.mphb-price-breakdown-subtotal {
    display: none;
}

tr.mphb-price-breakdown-services {
    display: none;
}

.woocommerce.woocommerce-checkout form #order_review,
.woocommerce.woocommerce-checkout form #order_review_heading,
.woocommerce-page.woocommerce-checkout form #order_review,
.woocommerce-page.woocommerce-checkout form #order_review_heading {
    width: 100%;
}

tr.cart-subtotal {
    display: none;
}


.lang-switcher {
    text-align: right;
}

a.wpml-ls-link {
    font-size: 14px;
}

.top-bar-row a:hover {
    text-decoration: underline;
    color: #fff !important;
}

.woocommerce-checkout .entry-header {
    display: none;
}

form.checkout.woocommerce-checkout,
.woocommerce-order {
    margin: 40px auto;

}

.ast-footer-social-wrap {
    display: none;
}

/* Стили для мобильных устройств */
@media (max-width: 480px) {
    .mphb_sc_checkout-form {
        padding: 15px;
    }

    .mphb_sc_checkout-form section {
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .mphb-price-breakdown td,
    .mphb-price-breakdown th {
        padding: 10px 15px;
        font-size: 0.95rem;
    }
}