/* Room ribbon badge - hg-primary background */
.hg-room-style-2 .property-condo-secound {
    background: #bd966f !important;
    background-color: #bd966f !important;
    color: #fff !important;
    padding: 8px 15px !important;
    border-radius: 0 10px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    z-index: 999 !important;
    display: inline-block !important;
}

/* Override Bootstrap container max-width - single room template only */
@media (min-width: 1400px) {
    body.single-mphb_room_type .container-xxl, 
    body.single-mphb_room_type .container-xl, 
    body.single-mphb_room_type .container-lg, 
    body.single-mphb_room_type .container-md, 
    body.single-mphb_room_type .container-sm, 
    body.single-mphb_room_type .container {
        max-width: 1700px;
    }
}

/* Breadcrumb global max-height */
.breadcrumb-section,
.breadcrumb-section .overlay {
    max-height: 450px;
    overflow: hidden;
}

/* Page wrapper sections - remove global 5rem bottom padding to prevent white gap above footer */
.caffe-section.template-area,
.menu-template-area.template-area {
    padding-bottom: 0 !important;
}

/* Extra separation on single room pages between breadcrumb and content */
body.single-mphb_room_type .content-area {
    margin-top: 90px;
}

/* Disable hardcoded footer gradient overlay */
footer.site-footer-area:before {
    display: none !important;
}

/* Call to action section - scale both images equally, max height 450px */
.call-to-action-area.menu-c2a-section-full {
    background-size: cover;
    background-position: center;
    max-height: 310px;
    overflow: hidden;
}

.call-to-action-area.menu-c2a-section-full .row {
    max-height: 310px;
}

.call-to-action-area.menu-c2a-section-full .hg-offer,
.call-to-action-area.menu-c2a-section-full .menu-c2a-image {
    max-height: 310px;
    object-fit: contain;
    width: 100%;
}

.call-to-action-area.menu-c2a-section-full .menu-c2a-image {
    height: 100%;
    max-height: 210px;
}

/* Single room view - corner triangle */
.single-page .item {
    position: relative;
}

/* Room status badge on gallery */
.single-page-room .room-img,
.single-page-room .item {
    position: relative;
}

/* Thumbnail carousel - consistent image sizes */
#single-page-room-2 .item img,
#single-page-room-2 .owl-item .img-responsive {
    height: 150px !important;
    object-fit: cover !important;
    width: 100%;
}

#single-page-room-1 .item img,
#single-page-room-1 .owl-item .img-responsive {
    width: 100%;
    height: auto;
    display: block;
}

.single-page-room .room-status,
.mphb-room-gallery .room-status,
.single-page .room-status {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--hg-primary);
    color: #fff;
    padding: 8px 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 4px;
    z-index: 100;
}

/* Fix sidebar positioning */
#booking-widget-sidebar {
    margin-top: 0;
}

.room-details + #booking-widget-sidebar {
    margin-top: 0;
}

/* MPHB Gallery wrapper styling */
.mphb-room-gallery {
    position: relative;
    margin-bottom: 20px;
}

.mphb-room-gallery .mphb-single-room-type-gallery-wrapper {
    margin-bottom: 15px;
}

#luna-room-gallery-main.owl-theme {
    position: relative;
}

#luna-room-gallery-main.owl-theme .owl-nav {
    top: 50% !important;
    position: absolute;
    width: 100%;
}

#luna-room-gallery-main.owl-theme .owl-next,
#luna-room-gallery-main.owl-theme .owl-prev {
    position: absolute;
    line-height: 50px;
    width: 50px;
    height: 50px;
    background: var(--white-color) !important;
    color: var(--black-color) !important;
    margin: -1.5625em 0 0;
    border-radius: 50%;
    opacity: 0;
    transition: all 0.3s;
}

#luna-room-gallery-main.owl-theme .owl-next {
    right: 1.25em;
}

#luna-room-gallery-main.owl-theme .owl-prev {
    left: 1.25em;
}

#luna-room-gallery-main:hover.owl-theme .owl-next,
#luna-room-gallery-main:hover.owl-theme .owl-prev {
    opacity: 1;
}

/* Room status badge positioning with MPHB gallery */
.single-mphb_room_type .room-status {
    display: inline-block;
    background: var(--hg-primary);
    color: #fff;
    padding: 8px 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 4px;
    margin-top: 15px;
}

/* MotoPress Custom Template - Single Room View */
.wp-block-motopress-hotel-booking-wrapper {
    max-width: 900px !important;
    margin: 0 auto;
    padding: 30px 20px;
}

.mphb-single-room-type-thumbnails {
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
}

.mphb-single-room-type-thumbnails img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.mphb-room-type-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--heading-color);
    margin-bottom: 20px;
    font-family: var(--font-2);
}

.mphb-single-room-type-gallery-wrapper {
    margin-bottom: 25px;
}

.mphb-single-room-type-attributes {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    list-style: none;
}

.mphb-single-room-type-attributes li {
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
}

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

.mphb-attribute-title {
    font-weight: 600;
    color: var(--hg-primary);
    margin-right: 10px;
}

.mphb-room-type-size .mphb-attribute-value {
    font-weight: 700;
    font-size: 16px;
}

.mphb_sc_booking_form-wrapper {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    border: 2px solid var(--hg-primary);
    margin-top: 20px;
}

.mphb-booking-form .mphb-reserve-btn {
    background: var(--hg-primary) !important;
    color: #fff !important;
    padding: 12px 30px;
    border-radius: 5px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.mphb-booking-form .mphb-reserve-btn:hover {
    background: #a8844d !important;
}

.mphb-calendar {
    margin: 15px 0;
}

.mphb-datepick {
    width: 100% !important;
}

.room-list-item .room-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0;
    opacity: 0;
    transform: translateX(-100px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.room-list-item:nth-child(odd) .room-image img {
    border-radius: 8px 0 0 8px;
    transform: translateX(-100px);
}

.room-list-item:nth-child(even) .room-image img {
    border-radius: 0 8px 8px 0;
    transform: translateX(100px);
}

.room-list-item .room-image img.slide-in {
    opacity: 1;
    transform: translateX(0);
}

.room-list-item .property-condo {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--hg-primary);
    color: #fff;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 14px;
}

.room-list-item .room-content {
    padding: 20px 0;
}

.room-list-item .room-state {
    color: var(--hg-primary);
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.room-list-item .entry-title {
    font-size: 24px;
    margin: 10px 0;
}

.room-list-item .entry-title a {
    color: #333;
    text-decoration: none;
}

.room-list-item .entry-title a:hover {
    color: var(--hg-primary);
}

.room-list-item .room-capacity {
    margin: 15px 0;
}

.room-list-item .room-capacity i {
    color: #666;
    margin-right: 5px;
    font-size: 24px;
}

.room-list-item .room-description {
    color: #666;
    line-height: 1.6;
    margin: 15px 0;
}

/* Button styling */
.room-list-item .hg-footer-btn {
    display: inline-block;
    padding: 12px 25px;
    background: var(--hg-primary);
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.3s ease;
    align-self: center;
    margin-top: 25px;
}

.room-list-item .hg-footer-btn:hover {
    background: #333;
    color: #fff;
}

.room-list-item .hg-footer-btn i {
    margin-left: 8px;
}

/* Room Filter Tab - Alternating 50/50 Layout */
.room-list-container {
    max-width: 1800px;
}

.room-list-item .room-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 40px;
}

.room-list-item {
    overflow: hidden;
}

.room-list-item:nth-child(even) {
    border-radius: 50px 0 0 0;
}

.room-list-item:nth-child(odd) {
    border-radius: 0 50px 0 0;
}

.room-list-item:nth-child(odd) {
    background-color: #f8f8f8;
}

.room-list-item:nth-child(even) {
    background-color: #ececec;
    border-radius: 0 8px 8px 0;
}

.room-list-item .room-description {
    margin: 15px 0;
    color: #666;
    line-height: 1.6;
}

.room-list-item .room-image {
    padding-left: 0;
    padding-right: 0;
}

.room-list-item .room-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 992px) {
    .room-list-item .order-md-1 {
        order: 1;
    }
    .room-list-item .order-md-2 {
        order: 2;
    }
}

@media (max-width: 991px) {
    .room-list-item .room-image,
    .room-list-item .room-content {
        order: 0 !important;
    }
    .room-list-item .room-image {
        margin-bottom: 20px;
    }
}

/* Single room page calendar styling */
.mphb-calendar {
    margin-top: 30px;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: visible;
    background: #fff;
}

/* Override parent theme inlinePicker inset outline/padding */
.mphb-calendar.mphb-datepick.inlinePicker {
    padding: 0;
    outline: none;
    background: transparent;
}

.mphb-calendar .datepick,
.mphb-calendar .datepick.datepick-multi {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100% !important;
    max-width: 100%;
    border: none;
    box-sizing: border-box;
}

.mphb-calendar .datepick-nav,
.mphb-calendar .datepick-month-row,
.mphb-calendar .datepick-ctrl {
    float: none !important;
    width: 100%;
    box-sizing: border-box;
    flex: 0 0 auto;
}

.mphb-calendar .datepick-nav {
    order: 1;
}

.mphb-calendar .datepick-month-row {
    order: 2;
    display: flex;
    flex-wrap: wrap;
    clear: both;
    position: relative;
    z-index: 1;
}

.mphb-calendar .datepick-ctrl {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    clear: both;
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding: 8px 12px;
    min-height: 44px;
    background: #f8f8f8;
    border-top: 1px solid #ddd;
}

.mphb-calendar .datepick-ctrl .datepick-cmd,
.mphb-calendar .datepick-ctrl .datepick-cmd-clear {
    float: none !important;
}

.mphb-calendar .datepick-ctrl .datepick-cmd-clear {
    padding: 8px 16px;
    background-color: var(--hg-secondary);
    color: var(--white-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 13px;
    transition: all 0.3s ease;
    line-height: normal;
    display: inline-block;
}

.mphb-calendar .datepick-ctrl .datepick-cmd-clear:hover {
    background-color: var(--hg-primary);
    color: var(--white-color);
}

.mphb-calendar .datepick-ctrl .mphb-calendar__selected-dates {
    flex: 1 1 auto;
    min-width: 0;
}

.mphb-calendar .datepick-clear-fix {
    display: none;
}

.mphb-calendar .datepick-month {
    float: none !important;
    flex: 1 1 50%;
    min-width: 0;
    width: 50%;
    padding: 15px;
    border-bottom: 1px solid #eee;
    box-sizing: border-box;
}

.mphb-calendar .datepick-month table {
    width: 100%;
    height: auto;
    table-layout: fixed;
}

.mphb-calendar .datepick-month-header {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    color: #333;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid #d4a762;
}

.mphb-calendar .datepick-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: #f8f8f8;
    border-bottom: 1px solid #ddd;
}

.mphb-calendar .datepick-nav .datepick-cmd {
    float: none;
}

.mphb-calendar .datepick-cmd {
    padding: 5px 12px;
    background: #d4a762;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
}

.mphb-calendar .datepick-cmd:hover {
    background: #b8955a;
}

.mphb-calendar table {
    width: 100%;
    border-collapse: collapse;
}

.mphb-calendar thead tr {
    background: #f5f5f5;
}

.mphb-calendar thead th {
    padding: 8px;
    text-align: center;
    font-weight: 600;
    font-size: 12px;
    color: #666;
}

.mphb-calendar tbody td {
    padding: 5px;
    text-align: center;
    border: 1px solid #eee;
}

.mphb-calendar .mphb-date-cell {
    display: block;
    padding: 8px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s;
}

.mphb-calendar .mphb-date-cell:hover {
    background: #d4a762;
    color: #fff;
}

.mphb-calendar .mphb-not-available-date {
    background: #f0f0f0;
    color: #999;
    cursor: not-allowed;
}

.mphb-calendar .mphb-not-available-date:hover {
    background: #f0f0f0;
    color: #999;
}

.mphb-calendar .mphb-available-date {
    background: #e8f5e9;
    color: #2e7d32;
}

.mphb-calendar .datepick-weekend {
    background: #fff8e1;
}

.mphb-calendar .datepick-other-month {
    background: transparent;
    color: #ccc;
}

@media (max-width: 768px) {
    .mphb-calendar .datepick-month-row {
        flex-wrap: wrap;
    }

    .mphb-calendar .datepick-month {
        flex: 1 1 100%;
        width: 100%;
    }

    #availability-section .mphb-calendar .datepick-month-row {
        flex-wrap: wrap;
    }

    #availability-section .mphb-calendar .datepick-month {
        flex: 1 1 100%;
        width: 100% !important;
    }
}

/* MPHB Room Shortcode Styling */
.single-mphb_room_type .mphb-room {
    margin-bottom: 40px;
}

.single-mphb_room_type .mphb-room-gallery {
    margin-bottom: 30px;
}

.single-mphb_room_type .mphb-room-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #333;
}

.single-mphb_room_type .mphb-room-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
    padding: 15px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.single-mphb_room_type .mphb-room-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
}

.single-mphb_room_type .mphb-room-meta-item i {
    color: #d4a762;
    font-size: 16px;
}

.single-mphb_room_type .mphb-room-price {
    font-size: 24px;
    font-weight: 700;
    color: #d4a762;
    margin: 20px 0;
}

.single-mphb_room_type .mphb-room-price span {
    font-size: 14px;
    font-weight: 400;
    color: #999;
}

.single-mphb_room_type .mphb-room-description {
    margin-bottom: 30px;
    line-height: 1.8;
}

.single-mphb_room_type .mphb-room-amenities {
    margin-bottom: 30px;
}

.single-mphb_room_type .mphb-room-amenities h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.single-mphb_room_type .mphb-amenities-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.single-mphb_room_type .mphb-amenity {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    background: #f8f8f8;
    border-radius: 4px;
    font-size: 14px;
}

.single-mphb_room_type .mphb-booking-form {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 8px;
    margin-top: 30px;
}

.single-mphb_room_type .mphb-related-rooms {
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid #eee;
}

.single-mphb_room_type .mphb-related-rooms h3 {
    font-size: 24px;
    margin-bottom: 25px;
}

.single-mphb_room_type .mphb-related-room {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s;
}

.single-mphb_room_type .mphb-related-room:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.single-mphb_room_type .mphb-related-room-image img,
.room-related-section .related-room-content-area .post-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.single-mphb_room_type .mphb-related-room-content {
    padding: 15px;
}

.single-mphb_room_type .mphb-related-room-title {
    font-size: 16px;
    margin-bottom: 10px;
}

.single-mphb_room_type .mphb-related-room-price {
    font-size: 16px;
    font-weight: 700;
    color: #d4a762;
}

/* Remove bold from main menu */
.navbar-nav .nav-link,
#menu-glavni-menu .nav-link {
    font-weight: 400 !important;
}

/* Also for dropdown items */
.navbar-nav .dropdown-item,
#menu-glavni-menu .dropdown-item {
    font-weight: 400 !important;
}

/* MotoPress Hotel Booking Pages */

/* Search Results */
.mphb_sc_search_results-wrapper {
    padding: 30px 0;
}

.mphb_sc_search_results-wrapper .mphb-room-type {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.mphb_sc_search_results-wrapper .mphb-room-type:hover {
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.mphb_sc_search_results-wrapper .mphb-room-type-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--hg-primary);
    margin-bottom: 15px;
}

.mphb_sc_search_results-wrapper .mphb-room-type-gallery img {
    border-radius: 4px;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button {
    background: var(--hg-primary);
    color: #fff;
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    margin-top: 10px;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button:hover {
    background: #a8844d;
    color: #fff;
}

/* Reserve Room Section - Search Results */
.mphb-reserve-room-section {
    margin-top: 20px;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #eaeaea;
    border-radius: 8px;
}

.mphb-reserve-room-section .mphb-rooms-quantity-wrapper {
    margin-bottom: 15px;
    font-size: 15px;
    color: #333;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.mphb-reserve-room-section .mphb-rooms-quantity-label {
    font-weight: 600;
    color: #333;
    white-space: nowrap;
}

.mphb-reserve-room-section .mphb-rooms-quantity {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    color: #333;
    min-width: 80px;
    flex: 0 0 auto;
}

.mphb-reserve-room-section .mphb-available-rooms-count {
    font-weight: 600;
    color: var(--hg-primary);
}

.mphb-reserve-room-section .mphb-confirm-reservation,
.mphb-reserve-room-section .mphb-book-button {
    background-color: var(--hg-secondary);
    color: var(--white-color);
    padding: 12px 24px;
    display: inline-block;
    border: none;
    text-align: center;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.mphb-reserve-room-section .mphb-confirm-reservation:hover,
.mphb-reserve-room-section .mphb-book-button:hover {
    background-color: var(--hg-primary);
    color: var(--white-color);
}

/* Checkout Page */
.mphb-checkout-page {
    padding: 40px 0;
}

.mphb-checkout-page .mphb_sc_checkout-wrapper {
    margin: 0 auto;
}

.mphb-checkout-page .mphb_sc_checkout-form {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 35px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.mphb-checkout-page .mphb_sc_checkout-form > .mphb-checkout-section {
    padding-bottom: 25px;
    border-bottom: 1px solid #eee;
}

.mphb-checkout-page .mphb_sc_checkout-form > .mphb-checkout-section:not(:first-of-type) {
    margin-top: 2em;
    padding-top: 25px;
}

.mphb-checkout-page .mphb_sc_checkout-form h3,
.mphb-checkout-page .mphb_sc_checkout-form h4 {
    color: #333;
    margin-bottom: 20px;
    font-weight: 600;
}

/* Hide redundant "Accommodation Total" row when there's only Subtotal */
.mphb-checkout-page .mphb-price-breakdown-accommodation-total {
    display: none;
}

/* Success Message Styling */
.mphb-checkout-page .mphb_sc_checkout-wrapper {
    padding: 60px 0;
    min-height: 400px;
}

.mphb-checkout-page .mphb-reservation-submitted-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--hg-primary);
    margin-bottom: 20px;
    text-align: center;
}

.mphb-checkout-page .mphb_sc_checkout-success-reservation-message {
    font-size: 16px;
    color: #555;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 20px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.mphb-checkout-page .mphb_sc_checkout-success-thankyou {
    font-size: 18px;
    font-weight: 600;
    color: var(--hg-secondary);
    line-height: 1.6;
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid var(--hg-primary);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.mphb-checkout-page .mphb_sc_checkout-form label {
    font-size: 14px;
    font-weight: 500;
    color: #555;
    margin-bottom: 5px;
    display: inline-block;
}

.mphb-checkout-page .mphb_sc_checkout-form input[type="text"],
.mphb-checkout-page .mphb_sc_checkout-form input[type="email"],
.mphb-checkout-page .mphb_sc_checkout-form input[type="tel"],
.mphb-checkout-page .mphb_sc_checkout-form textarea,
.mphb-checkout-page .mphb_sc_checkout-form select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background: #fafafa;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mphb-checkout-page .mphb_sc_checkout-form input:focus,
.mphb-checkout-page .mphb_sc_checkout-form textarea:focus,
.mphb-checkout-page .mphb_sc_checkout-form select:focus {
    border-color: var(--hg-primary, #c9a96e);
    box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.15);
    outline: none;
    background: #fff;
}

.mphb-checkout-page .mphb-booking-details {
    background: #f8f8f8;
    padding: 20px 25px;
    border-radius: 6px;
}

.mphb-checkout-page .mphb-booking-details .mphb-room-number {
    font-size: 16px;
    font-weight: 600;
    color: var(--hg-primary, #c9a96e);
    margin-bottom: 10px;
}

.mphb-checkout-page .mphb-booking-details .mphb-room-type-title a {
    color: #333;
    font-weight: 600;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-check-in-date,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-check-out-date {
    font-size: 14px;
    margin-bottom: 5px;
    color: #555;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-check-in-date strong,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-check-out-date strong {
    color: #333;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-adults-chooser,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-children-chooser {
    margin-bottom: 10px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-adults-chooser select,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-children-chooser select {
    max-width: 120px;
}

/* Rate chooser */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-room-rate-variant {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 12px 15px;
    margin-bottom: 8px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-room-rate-variant label {
    cursor: pointer;
}

/* Service chooser */
.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-services-list {
    list-style: none;
    padding: 0;
    margin: 15px 0;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-services-list li {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 12px 15px;
    margin-bottom: 6px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-services-list li label {
    cursor: pointer;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-services-list input[type="number"] {
    width: 70px;
    display: inline-block;
    padding: 4px 8px;
}

/* Coupon */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-coupon-code-wrapper input#mphb_coupon_code {
    max-width: 250px;
    display: inline-block;
}

.mphb-checkout-page .mphb_sc_checkout-form .button.mphb-apply-coupon-code-button {
    background: var(--hg-primary, #c9a96e);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.2s ease;
}

.mphb-checkout-page .mphb_sc_checkout-form .button.mphb-apply-coupon-code-button:hover {
    background: #a8844d;
}

/* Price breakdown table */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown {
    width: 100%;
    border-collapse: collapse;
    background: #f8f8f8;
    border-radius: 6px;
    overflow: hidden;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown td,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown th {
    padding: 10px 15px;
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
    text-align: left;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown .mphb-table-price-column {
    text-align: right;
    width: 120px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown .mphb-price-breakdown-expand {
    color: var(--hg-primary, #c9a96e);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown .mphb-price-breakdown-expand:hover {
    color: #a8844d;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown tfoot tr.mphb-price-breakdown-total th,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown tfoot tr.mphb-price-breakdown-total th.mphb-table-price-column {
    font-size: 18px;
    color: #222;
    border-top: 2px solid #ddd;
    padding-top: 15px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown tfoot tr.mphb-price-breakdown-deposit th {
    color: var(--hg-primary, #c9a96e);
    font-weight: 600;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown tfoot tr.mphb-price-breakdown-coupon th {
    color: #4caf50;
}

/* Customer details */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-customer-details p {
    margin-bottom: 12px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-customer-details input,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-customer-details select,
.mphb-checkout-page .mphb_sc_checkout-form .mphb-customer-details textarea {
    margin-top: 4px;
}

/* Payment gateways */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-gateways-list {
    list-style: none;
    padding: 0;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-gateways-list > li {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 15px 18px;
    margin-bottom: 8px;
    transition: border-color 0.2s ease;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-gateways-list > li:hover {
    border-color: #ccc;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-gateways-list input[type="radio"] {
    margin-right: 8px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-gateways-list .mphb-gateway-title {
    font-size: 15px;
    font-weight: 600;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-gateways-list .mphb-gateway-description {
    font-size: 13px;
    color: #777;
    margin: 6px 0 0 24px;
}

/* Total price */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-total-price {
    text-align: right;
    font-size: 18px;
    margin: 20px 0 5px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-total-price .mphb-total-price-field {
    font-size: 24px;
    color: #222;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-deposit-amount {
    text-align: right;
    font-size: 15px;
    color: var(--hg-primary, #c9a96e);
    margin: 5px 0 20px;
}

/* Terms and conditions */
.mphb-checkout-page .mphb_sc_checkout-form .mphb-checkout-terms-wrapper {
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 20px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
    font-size: 14px;
    cursor: pointer;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-terms-and-conditions-accept input[type="checkbox"] {
    margin-right: 6px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb-terms-and-conditions-link {
    color: var(--hg-primary, #c9a96e);
}

/* Submit button */
.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper {
    text-align: center;
    margin-top: 30px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type="submit"],
.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper .button {
    background: var(--hg-primary, #c9a96e);
    color: #fff;
    border: none;
    padding: 14px 40px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.1s ease;
    min-width: 200px;
}

.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type="submit"]:hover,
.mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper .button:hover {
    background: #a8844d;
    transform: translateY(-1px);
}

/* Error messages */
.mphb-checkout-page .mphb_sc_checkout-wrapper .mphb-errors-wrapper {
    background: #fff3f3;
    border: 1px solid #f5c6cb;
    color: #721c24;
    border-radius: 6px;
    padding: 15px 20px;
    margin: 20px 0;
    font-size: 14px;
}

.mphb-checkout-page .mphb_sc_checkout-wrapper .mphb-data-incorrect {
    background: #fff3f3;
    border: 1px solid #f5c6cb;
    color: #721c24;
    border-radius: 6px;
    padding: 15px 20px;
    margin-bottom: 20px;
}

/* Responsive */
@media (max-width: 768px) {
    .mphb-checkout-page .mphb_sc_checkout-form {
        padding: 20px;
    }
    .mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown td,
    .mphb-checkout-page .mphb_sc_checkout-form .mphb-price-breakdown th {
        padding: 8px 10px;
        font-size: 13px;
    }
    .mphb-checkout-page .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type="submit"] {
        width: 100%;
        min-width: auto;
    }
}

/* Booking Confirmation */
.mphb-booking-confirmation-page {
    padding: 40px 0;
    text-align: center;
}

.mphb-booking-confirmation-page .mphb-confirmation-message {
    background: #fff;
    border: 2px solid #4caf50;
    border-radius: 8px;
    padding: 40px;
    max-width: 600px;
    margin: 0 auto;
}

.mphb-booking-confirmation-page .mphb-confirmation-message h2 {
    color: #4caf50;
    margin-bottom: 20px;
}

.mphb-booking-details {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 4px;
    margin: 20px 0;
    text-align: left;
}

.mphb-booking-details h3 {
    margin-bottom: 15px;
}

/* Booking Canceled */
.mphb-booking-canceled-page {
    padding: 40px 0;
    text-align: center;
}

.mphb-booking-canceled-page .mphb-canceled-message {
    background: #fff;
    border: 2px solid #f44336;
    border-radius: 8px;
    padding: 40px;
    max-width: 600px;
    margin: 0 auto;
}

.mphb-booking-canceled-page .mphb-canceled-message h2 {
    color: #f44336;
    margin-bottom: 20px;
}

/* My Account Page */
.mphb-my-account-page {
    padding: 40px 0;
}

.mphb-my-account-page .mphb-my-bookings {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 30px;
}

.mphb-my-account-page .mphb-booking-list {
    margin: 0;
    padding: 0;
}

.mphb-my-account-page .mphb-booking-item {
    border-bottom: 1px solid #eee;
    padding: 15px 0;
}

.mphb-my-account-page .mphb-booking-item:last-child {
    border-bottom: none;
}

.mphb-my-account-page .mphb-booking-id {
    font-weight: 600;
    color: var(--hg-primary);
}

.mphb-my-account-page .mphb-booking-dates {
    color: #666;
    margin: 5px 0;
}

.mphb-my-account-page .mphb-booking-status {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.mphb-my-account-page .mphb-booking-status-confirmed {
    background: #e8f5e9;
    color: #2e7d32;
}

.mphb-my-account-page .mphb-booking-status-pending {
    background: #fff3e0;
    color: #ef6c00;
}

.mphb-my-account-page .mphb-booking-status-cancelled {
    background: #ffebee;
    color: #c62828;
}

/* Form Inputs */
.mphb-checkout-page input[type="text"],
.mphb-checkout-page input[type="email"],
.mphb-checkout-page input[type="tel"],
.mphb-checkout-page textarea,
.mphb-checkout-page select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 15px;
    font-size: 14px;
}

.mphb-checkout-page input:focus,
.mphb-checkout-page textarea:focus,
.mphb-checkout-page select:focus {
    border-color: var(--hg-primary);
    outline: none;
}

/* Error and Success Messages */
.mphb_message.success {
    background: #e8f5e9;
    color: #2e7d32;
    padding: 15px 20px;
    border-radius: 4px;
    margin-bottom: 20px;
    border-left: 4px solid #2e7d32;
}

.mphb_message.error {
    background: #ffebee;
    color: #c62828;
    padding: 15px 20px;
    border-radius: 4px;
    margin-bottom: 20px;
    border-left: 4px solid #c62828;
}

/* Custom Flags-Only Side-by-Side Language Switcher */
.custom-flags-switcher .flags-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.custom-flags-switcher .flag-link {
    display: inline-block;
    transition: opacity 0.2s ease;
    line-height: 0;
}

.custom-flags-switcher .flag-link:hover {
    opacity: 0.7;
}

.custom-flags-switcher .flag-link.active {
    opacity: 0.4;
    cursor: default;
}

.custom-flags-switcher .flag-icon {
    width: 24px;
    height: auto;
    display: block;
    border-radius: 2px;
}

/* Infobar flags positioning */
#header_infobar .custom-flags-switcher {
    margin-left: auto;
}

/* Responsive */
@media (max-width: 768px) {
    .mphb_sc_search_results-wrapper .mphb-room-type {
        padding: 15px;
    }

    .mphb-checkout-page .mphb-checkout-form {
        padding: 20px;
    }

    .mphb-booking-confirmation-page .mphb-confirmation-message {
        padding: 20px;
    }
}



/* Equal height for room cards on home page */
#main-home-room .row {
    display: flex;
    flex-wrap: wrap;
}
#main-home-room .row > .col {
    display: flex;
}
#main-home-room .hg-room-style-2 {
    display: flex;
    flex-direction: column;
    width: 100%;
}
#main-home-room .hg-room-grid-top {
    flex: 1;
}

/* Pricing section spacing refinements */
.row:has(.hg-pricing-item) {
    display: flex;
    flex-wrap: wrap;
}
.row:has(.hg-pricing-item) > .col {
    display: flex;
}
.hg-pricing-item {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.hg-pricing-item .hg-pricing-top {
    padding: 20px;
    min-height: 400px;
    flex: 1;
}

.hg-pricing-item .hg-pricing-text h2:empty,
.hg-pricing-item .hg-pricing-text h2 span:empty {
    display: none;
    margin: 0;
}

.hg-pricing-item .hg-pricing-bottom ul {
    padding: 20px;
}

/* Footer widget 3-column fix */
.footer-widget {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
}

/* Remove float from gallery block in footer */
.footer-widget .wp-block-gallery.alignleft {
    float: none;
}

@media (max-width: 991.98px) {
    .footer-widget {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}
@media (max-width: 575.98px) {
    .footer-widget {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Availability toggle section */
#availability-section {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    background: #f9f9f9;
    border-radius: 8px;
    margin-bottom: 0;
    padding: 0 30px;
    transition: max-height 0.5s ease, opacity 0.5s ease, margin-bottom 0.5s ease, padding 0.3s ease;
}
#availability-section.open {
    max-height: 2000px;
    opacity: 1;
    margin-bottom: 40px;
    padding-top: 20px;
    padding-bottom: 30px;
}
#availability-section h3 {
    margin-top: 0;
}
#availability-section .mphb-calendar {
    margin-bottom: 25px;
    overflow: visible;
}

/* Override parent theme inlinePicker padding that squeezes the calendar */
#availability-section .mphb-calendar.mphb-datepick.inlinePicker {
    padding: 0;
    outline: none;
    background: transparent;
}

#availability-section .mphb-calendar .datepick,
#availability-section .mphb-calendar .datepick.datepick-multi {
    width: 100% !important;
    max-width: 100%;
}

/* Fix datepick-nav overlap with flex month-row */
#availability-section .mphb-calendar .datepick-nav {
    float: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    background: #f0f0f0;
    border: 1px solid #ddd;
    border-bottom: 0;
    padding: 6px 10px;
    border-radius: 4px 4px 0 0;
}
#availability-section .mphb-calendar .datepick-nav a.datepick-cmd {
    float: none;
    line-height: 2.2;
    height: auto;
}
#availability-section .mphb-calendar .datepick-month-row {
    clear: both;
    display: flex;
    flex-wrap: nowrap;
    float: none;
    width: 100%;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}
/* Remove theme's margin/borders on individual months within section */
#availability-section .mphb-calendar .datepick-month {
    float: none;
    flex: 1 1 50%;
    min-width: 0;
    margin-right: 0 !important;
    border: 0 !important;
    width: 50% !important;
    box-sizing: border-box;
}
#availability-section .mphb-calendar .datepick-ctrl {
    float: none !important;
    clear: both;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f0f0f0;
    border: 1px solid #ddd;
    border-top: 0;
    border-radius: 0 0 4px 4px;
    padding: 8px 12px;
    min-height: 44px;
    position: relative;
    z-index: 2;
    margin-top: 0;
}
#availability-section .mphb-calendar .datepick-ctrl .mphb-calendar__selected-dates {
    font-size: 13px;
    color: #555;
}
#availability-section .mphb-calendar .datepick-ctrl .datepick-cmd-clear {
    font-size: 13px;
    padding: 8px 16px;
    background-color: var(--hg-secondary);
    color: var(--white-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    line-height: normal;
    display: inline-block;
}
#availability-section .mphb-calendar .datepick-ctrl .datepick-cmd-clear:hover {
    background-color: var(--hg-primary);
    color: var(--white-color);
}

/* Hide date input fields in the booking form, keep in DOM for JS */
#availability-section .mphb-booking-form .mphb-required-fields-tip,
#availability-section .mphb-booking-form .mphb-check-in-date-wrapper,
#availability-section .mphb-booking-form .mphb-check-out-date-wrapper {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Style the reserve button as a big "Rezerviraj" button */
#availability-section .mphb-booking-form .mphb-reserve-btn-wrapper {
    text-align: center;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid #ddd;
}
#availability-section .mphb-booking-form .mphb-reserve-btn-wrapper .mphb-reserve-btn {
    min-width: 250px;
    font-size: 16px;
    padding: 14px 40px;
    background: var(--theme-color, #c8a46b);
    border: none;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.1s ease;
    display: inline-block;
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.5px;
}
#availability-section .mphb-booking-form .mphb-reserve-btn-wrapper .mphb-reserve-btn:hover {
    background: #a8844d;
    transform: translateY(-1px);
}
/* Also hide any capacity fields if shown */
#availability-section .mphb-booking-form .mphb-capacity-wrapper {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Gallery images - prevent layout shift flash */
.home-gallery .post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
}
.home-gallery .hg-gallery-overlay {
    min-height: 200px;
}

.information__distance {
    padding: 30px 0 0;
}
.information__distance .hg-title {
    font-weight: 600;
    color: #666;
    margin-bottom: 30px;
}
.information__distance ul.no-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 500px;
}
.information__distance ul.no-bullets li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}
.information__distance ul.no-bullets li .line {
    flex: 1;
    height: 1px;
    border-bottom: 1px dotted #ccc;
    min-width: 20px;
}
.information__distance ul.no-bullets li span {
    color: #666;
    white-space: nowrap;
}

.mphb-transfer-section {
    margin: 25px 0;
    padding: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fafafa;
}
.mphb-transfer-section .mphb-transfer-title {
    margin-bottom: 12px;
    font-size: 18px;
}
.mphb-transfer-section .mphb-transfer-checkbox-wrap {
    margin-bottom: 10px;
}
.mphb-transfer-section .mphb-transfer-checkbox-wrap label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.mphb-transfer-section .mphb-transfer-checkbox-wrap input[type="checkbox"] {
    width: 18px;
    height: 18px;
}
.mphb-transfer-section .mphb-transfer-options {
    margin-top: 15px;
    padding-left: 26px;
}
.mphb-transfer-section .mphb-transfer-options p {
    margin-bottom: 10px;
}
.mphb-transfer-section .mphb-transfer-options select {
    margin-left: 8px;
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

/* Contact page: distances below form on mobile */
@media (min-width: 992px) {
    .information__distance--mobile {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .faq-pg-address .information__distance {
        display: none !important;
    }
    .information__distance--mobile {
        display: block !important;
    }
}
