/* ============================================
   Base Widget Wrapper Styles
   ============================================ */
.slv-widget {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.slv-widget * {
    box-sizing: border-box;
}

/* ============================================
   Search Form Widget
   ============================================ */

/* MPHB Search Form Wrapper Styling */
.mphb_sc_search-form {
    background: rgba(245, 245, 245, 0.349);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    max-width: 100%;
}

/* Form Container - CSS Grid Layout (2 columns) */
.mphb_sc_search-wrapper.slv-mphb-search-form form,
.slv-mphb-search-form form,
.mphb_sc_search-form form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
    width: 100%;
}

.mphb_sc_search-wrapper small {
    color: white;
}
.mphb_sc_search-wrapper abbr[title] {
    text-decoration: none;
}

/* Required Fields Tip - Spans full width at top */
.mphb_sc_search-wrapper.slv-mphb-search-form form .mphb-required-fields-tip,
.slv-mphb-search-form form .mphb-required-fields-tip,
.mphb_sc_search-form form .mphb-required-fields-tip {
    grid-column: 1 / -1;
    font-size: 12px;
    color: #666;
    margin: 0;
    order: -1;
}

.mphb_sc_search-wrapper.slv-mphb-search-form .mphb-required-fields-tip small,
.slv-mphb-search-form .mphb-required-fields-tip small,
.mphb_sc_search-form .mphb-required-fields-tip small {
    display: block;
}

/* Date Fields - First Row, Side by Side */
.mphb_sc_search-wrapper.slv-mphb-search-form
    form
    p.mphb_sc_search-check-in-date,
.slv-mphb-search-form form p.mphb_sc_search-check-in-date,
.mphb_sc_search-form form p.mphb_sc_search-check-in-date {
    grid-column: 1;
    margin: 0;
}

.mphb_sc_search-wrapper.slv-mphb-search-form
    form
    p.mphb_sc_search-check-out-date,
.slv-mphb-search-form form p.mphb_sc_search-check-out-date,
.mphb_sc_search-form form p.mphb_sc_search-check-out-date {
    grid-column: 2;
    margin: 0;
}

/* Guest Fields - Second Row, Side by Side */
.mphb_sc_search-wrapper.slv-mphb-search-form form p.mphb_sc_search-adults,
.slv-mphb-search-form form p.mphb_sc_search-adults,
.mphb_sc_search-form form p.mphb_sc_search-adults {
    grid-column: 1;
    margin: 0;
}

.mphb_sc_search-wrapper.slv-mphb-search-form form p.mphb_sc_search-children,
.slv-mphb-search-form form p.mphb_sc_search-children,
.mphb_sc_search-form form p.mphb_sc_search-children {
    grid-column: 2;
    margin: 0;
}

/* Submit Button - Spans full width */
.mphb_sc_search-wrapper.slv-mphb-search-form
    form
    p.mphb_sc_search-submit-button-wrapper,
.slv-mphb-search-form form p.mphb_sc_search-submit-button-wrapper,
.mphb_sc_search-form form p.mphb_sc_search-submit-button-wrapper {
    grid-column: 1 / -1;
    margin: 0;
    width: 100%;
}

/* Labels */
.mphb_sc_search-wrapper.slv-mphb-search-form label,
.slv-mphb-search-form label,
.mphb_sc_search-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
    font-size: 14px;
}

/* Date Input Fields */
.mphb_sc_search-wrapper.slv-mphb-search-form .mphb-datepick,
.slv-mphb-search-form .mphb-datepick,
.mphb_sc_search-form .mphb-datepick {
    width: 100%;
    padding: 12px 15px;
    padding-left: 45px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #333;
    transition: all 0.3s ease;
    position: relative;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 15px center;
    background-size: 18px 18px;
    margin: 0;
}

/* Select Fields */
.mphb_sc_search-wrapper.slv-mphb-search-form select,
.slv-mphb-search-form select,
.mphb_sc_search-form select {
    width: 100%;
    padding: 12px 15px;
    padding-right: 40px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #333;
    transition: all 0.3s ease;
    position: relative;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.mphb_sc_search-wrapper.slv-mphb-search-form .mphb-datepick:focus,
.slv-mphb-search-form .mphb-datepick:focus,
.mphb_sc_search-form .mphb-datepick:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

.mphb_sc_search-wrapper.slv-mphb-search-form select:focus,
.slv-mphb-search-form select:focus,
.mphb_sc_search-form select:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

/* Select Dropdown Arrow - Positioned on the right */
.mphb_sc_search-wrapper.slv-mphb-search-form select,
.slv-mphb-search-form select,
.mphb_sc_search-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px 12px;
    padding-right: 40px;
    padding-left: 15px;
}

/* Submit Button */
.mphb_sc_search-wrapper.slv-mphb-search-form input[type="submit"],
.mphb_sc_search-wrapper.slv-mphb-search-form button[type="submit"],
.slv-mphb-search-form input[type="submit"],
.slv-mphb-search-form button[type="submit"],
.mphb_sc_search-form input[type="submit"],
.mphb_sc_search-form button[type="submit"] {
    width: 100%;
    padding: 15px 30px;
    background-color: #a3130e;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mphb_sc_search-wrapper.slv-mphb-search-form input[type="submit"]:hover,
.mphb_sc_search-wrapper.slv-mphb-search-form button[type="submit"]:hover,
.slv-mphb-search-form input[type="submit"]:hover,
.slv-mphb-search-form button[type="submit"]:hover,
.mphb_sc_search-form input[type="submit"]:hover,
.mphb_sc_search-form button[type="submit"]:hover {
    background-color: #6d1d29;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 38, 53, 0.3);
}

.mphb_sc_search-wrapper.slv-mphb-search-form input[type="submit"]:active,
.mphb_sc_search-wrapper.slv-mphb-search-form button[type="submit"]:active,
.slv-mphb-search-form input[type="submit"]:active,
.slv-mphb-search-form button[type="submit"]:active,
.mphb_sc_search-form input[type="submit"]:active,
.mphb_sc_search-form button[type="submit"]:active {
    transform: translateY(0);
}

/* Remove default paragraph margins */
.mphb_sc_search-wrapper.slv-mphb-search-form form p,
.slv-mphb-search-form form p,
.mphb_sc_search-form form p {
    margin: 0;
}

/* Hide hidden inputs */
.mphb_sc_search-wrapper.slv-mphb-search-form input[type="hidden"],
.slv-mphb-search-form input[type="hidden"],
.mphb_sc_search-form input[type="hidden"] {
    display: none;
}

/* Attributes Fields - Spans full width */
.mphb_sc_search-wrapper.slv-mphb-search-form .mphb_sc_search-attributes,
.slv-mphb-search-form .mphb_sc_search-attributes,
.mphb_sc_search-form .mphb_sc_search-attributes {
    grid-column: 1 / -1;
    margin: 0;
}

/* Mobile Responsive Styles */
@media screen and (max-width: 768px) {
    .mphb_sc_search-wrapper.slv-mphb-search-form,
    .slv-mphb-search-form,
    .mphb_sc_search-form {
        padding: 20px;
        margin: 15px 0;
        border-radius: 8px;
    }

    /* Switch to single column on mobile */
    .mphb_sc_search-wrapper.slv-mphb-search-form form,
    .slv-mphb-search-form form,
    .mphb_sc_search-form form {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    /* All fields span full width on mobile */
    .mphb_sc_search-wrapper.slv-mphb-search-form
        form
        p.mphb_sc_search-check-in-date,
    .mphb_sc_search-wrapper.slv-mphb-search-form
        form
        p.mphb_sc_search-check-out-date,
    .mphb_sc_search-wrapper.slv-mphb-search-form form p.mphb_sc_search-adults,
    .mphb_sc_search-wrapper.slv-mphb-search-form form p.mphb_sc_search-children,
    .slv-mphb-search-form form p.mphb_sc_search-check-in-date,
    .slv-mphb-search-form form p.mphb_sc_search-check-out-date,
    .slv-mphb-search-form form p.mphb_sc_search-adults,
    .slv-mphb-search-form form p.mphb_sc_search-children,
    .mphb_sc_search-form form p.mphb_sc_search-check-in-date,
    .mphb_sc_search-form form p.mphb_sc_search-check-out-date,
    .mphb_sc_search-form form p.mphb_sc_search-adults,
    .mphb_sc_search-form form p.mphb_sc_search-children {
        grid-column: 1;
    }

    /* Adjust input padding for mobile */
    .mphb_sc_search-wrapper.slv-mphb-search-form .mphb-datepick,
    .mphb_sc_search-wrapper.slv-mphb-search-form select,
    .slv-mphb-search-form .mphb-datepick,
    .slv-mphb-search-form select,
    .mphb_sc_search-form .mphb-datepick,
    .mphb_sc_search-form select {
        padding: 14px 15px;
        padding-left: 45px;
        font-size: 16px; /* Prevents zoom on iOS */
    }

    /* Button adjustments */
    .mphb_sc_search-wrapper.slv-mphb-search-form input[type="submit"],
    .mphb_sc_search-wrapper.slv-mphb-search-form button[type="submit"],
    .slv-mphb-search-form input[type="submit"],
    .slv-mphb-search-form button[type="submit"],
    .mphb_sc_search-form input[type="submit"],
    .mphb_sc_search-form button[type="submit"] {
        padding: 16px 25px;
        font-size: 15px;
    }
}

/* Tablet Responsive Styles */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .mphb_sc_search-wrapper.slv-mphb-search-form,
    .slv-mphb-search-form,
    .mphb_sc_search-form {
        padding: 25px;
    }

    .mphb_sc_search-wrapper.slv-mphb-search-form form,
    .slv-mphb-search-form form,
    .mphb_sc_search-form form {
        gap: 18px;
    }
}

/* Widget Search Form (Alternative class) */
.mphb_widget_search-form {
    background: rgba(245, 245, 245, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mphb_widget_search-form form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

.mphb_widget_search-form .mphb-required-fields-tip {
    grid-column: 1 / -1;
    font-size: 12px;
    color: #666;
    margin: 0;
}

.mphb_widget_search-form p.mphb_sc_search-check-in-date {
    grid-column: 1;
}

.mphb_widget_search-form p.mphb_sc_search-check-out-date {
    grid-column: 2;
}

.mphb_widget_search-form p.mphb_sc_search-adults {
    grid-column: 1;
}

.mphb_widget_search-form p.mphb_sc_search-children {
    grid-column: 2;
}

.mphb_widget_search-form p.mphb_sc_search-submit-button-wrapper {
    grid-column: 1 / -1;
}

.mphb_widget_search-form .mphb-datepick,
.mphb_widget_search-form select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.mphb_widget_search-form .mphb-datepick {
    padding-left: 45px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 15px center;
    background-size: 18px 18px;
}

.mphb_widget_search-form .mphb-datepick:focus,
.mphb_widget_search-form select:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

.mphb_widget_search-form input[type="submit"],
.mphb_widget_search-form button[type="submit"] {
    width: 100%;
    padding: 15px 30px;
    background-color: #a3130e;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mphb_widget_search-form input[type="submit"]:hover,
.mphb_widget_search-form button[type="submit"]:hover {
    background-color: #6d1d29;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 38, 53, 0.3);
}

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

    .mphb_widget_search-form form {
        grid-template-columns: 1fr;
    }

    .mphb_widget_search-form p {
        grid-column: 1;
    }
}

/* ============================================
   SAUERLANDVILLA WIDGETS - COMPREHENSIVE STYLING
   All styles are scoped within .slv-widget for better isolation
   ============================================ */

/* ============================================
   Search Results Widget
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-search-results .mphb_sc_search_results-wrapper,
.slv-widget-search-results .mphb_sc_search-results,
.mphb_sc_search_results-wrapper,
.mphb_sc_search-results {
    margin: 40px 0;
}

.mphb_sc_search-results .mphb-room-type {
    background: #ffffff;
    border-radius: 16px;
    padding: 0;
    margin-bottom: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
}

.mphb_sc_search-results .mphb-room-type:hover {
    box-shadow: 0 8px 30px rgba(139, 38, 53, 0.15);
    transform: translateY(-5px);
    border-color: rgba(139, 38, 53, 0.2);
}

.mphb_sc_search-results .mphb-room-type-title {
    font-size: 26px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 15px 0;
    padding: 30px 30px 0 30px;
    line-height: 1.3;
}

.mphb_sc_search-results .mphb-room-type-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mphb_sc_search-results .mphb-room-type-title a:hover {
    color: #a3130e;
}

.mphb_sc_search-results .mphb-room-type-featured-image,
.mphb_sc_search-results .mphb-room-type-gallery {
    border-radius: 0;
    overflow: hidden;
    margin: 0;
    width: 100%;
    height: 300px;
    background: #f5f5f5;
}

.mphb_sc_search-results .mphb-room-type-featured-image img,
.mphb_sc_search-results .mphb-room-type-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.mphb_sc_search-results
    .mphb-room-type:hover
    .mphb-room-type-featured-image
    img,
.mphb_sc_search-results .mphb-room-type:hover .mphb-room-type-gallery img {
    transform: scale(1.1);
}

.mphb_sc_search-results .mphb-room-type-excerpt {
    color: #666;
    line-height: 1.7;
    margin: 0 0 20px 0;
    padding: 0 30px;
    font-size: 15px;
}

.mphb_sc_search-results .mphb-room-type-excerpt p {
    margin-bottom: 10px;
}

.mphb_sc_search-results .mphb-room-type-excerpt p:last-child {
    margin-bottom: 0;
}

.mphb_sc_search-results .mphb-room-type-price {
    font-size: 28px;
    font-weight: 700;
    color: #a3130e;
    margin: 0 0 25px 0;
    padding: 0 30px;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.mphb_sc_search-results .mphb-room-type-price .mphb-price-period {
    font-size: 14px;
    font-weight: 500;
    color: #888;
    text-transform: lowercase;
}

.mphb_sc_search-results .mphb-room-type-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0 30px 30px 30px;
}

.mphb_sc_search-results .mphb-view-details-button,
.mphb_sc_search-results .mphb-book-button,
.mphb_sc_search-results a.button,
.mphb_sc_search-results button.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    background-color: #a3130e;
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid #a3130e;
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0.3px;
    flex: 1;
    min-width: 140px;
}

.mphb_sc_search-results .mphb-view-details-button:hover,
.mphb_sc_search-results .mphb-book-button:hover,
.mphb_sc_search-results a.button:hover,
.mphb_sc_search-results button.button:hover {
    background-color: #6d1d29;
    border-color: #6d1d29;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 38, 53, 0.35);
}

.mphb_sc_search-results .mphb-view-details-button {
    background-color: transparent;
    color: #a3130e;
    border-color: #a3130e;
}

.mphb_sc_search-results .mphb-view-details-button:hover {
    background-color: #a3130e;
    color: #ffffff;
}

/* ============================================
   Rooms Widget (Accommodation Types List)
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-rooms .mphb_sc_rooms-wrapper,
.slv-widget-rooms .mphb_sc_rooms,
.mphb_sc_rooms-wrapper,
.mphb_sc_rooms {
    margin: 40px 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 30px;
}

.mphb_sc_rooms .mphb-room-type,
.mphb_sc_rooms-wrapper .mphb-room-type {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 30px;
}

.mphb_sc_rooms .mphb-room-type:hover,
.mphb_sc_rooms-wrapper .mphb-room-type:hover {
    box-shadow: 0 8px 30px rgba(139, 38, 53, 0.15);
    transform: translateY(-5px);
    border-color: rgba(139, 38, 53, 0.2);
}

/* Gallery and Image Styling */
.mphb_sc_rooms .mphb-room-type-gallery,
.mphb_sc_rooms .mphb-room-type-featured-image,
.mphb_sc_rooms-wrapper .mphb-room-type-gallery,
.mphb_sc_rooms-wrapper .mphb-room-type-featured-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 280px;
    background: #f5f5f5;
    border-radius: 12px;
    margin-bottom: 25px;
}

.mphb_sc_rooms .mphb-room-type-gallery img,
.mphb_sc_rooms .mphb-room-type-featured-image img,
.mphb_sc_rooms-wrapper .mphb-room-type-gallery img,
.mphb_sc_rooms-wrapper .mphb-room-type-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.mphb_sc_rooms .mphb-room-type:hover .mphb-room-type-gallery img,
.mphb_sc_rooms .mphb-room-type:hover .mphb-room-type-featured-image img,
.mphb_sc_rooms-wrapper .mphb-room-type:hover .mphb-room-type-gallery img,
.mphb_sc_rooms-wrapper
    .mphb-room-type:hover
    .mphb-room-type-featured-image
    img {
    transform: scale(1.1);
}

/* Title Styling */
.mphb_sc_rooms .mphb-room-type-title,
.mphb_sc_rooms-wrapper .mphb-room-type-title {
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.mphb_sc_rooms .mphb-room-type-title a,
.mphb_sc_rooms-wrapper .mphb-room-type-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
}

.mphb_sc_rooms .mphb-room-type-title a:hover,
.mphb_sc_rooms-wrapper .mphb-room-type-title a:hover {
    color: #a3130e;
}

/* Details Title */
.mphb_sc_rooms .mphb-room-type-details-title,
.mphb_sc_rooms-wrapper .mphb-room-type-details-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 15px 0;
}

/* Attributes/Details List Styling */
.mphb_sc_rooms .mphb-loop-room-type-attributes,
.mphb_sc_rooms .mphb-room-type-attributes,
.mphb_sc_rooms-wrapper .mphb-loop-room-type-attributes,
.mphb_sc_rooms-wrapper .mphb-room-type-attributes {
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}

.mphb_sc_rooms .mphb-loop-room-type-attributes li,
.mphb_sc_rooms .mphb-room-type-attributes li,
.mphb_sc_rooms-wrapper .mphb-loop-room-type-attributes li,
.mphb_sc_rooms-wrapper .mphb-room-type-attributes li {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    color: #555;
    font-size: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mphb_sc_rooms .mphb-loop-room-type-attributes li:last-child,
.mphb_sc_rooms .mphb-room-type-attributes li:last-child,
.mphb_sc_rooms-wrapper .mphb-loop-room-type-attributes li:last-child,
.mphb_sc_rooms-wrapper .mphb-room-type-attributes li:last-child {
    border-bottom: none;
}

.mphb_sc_rooms .mphb-attribute-title,
.mphb_sc_rooms-wrapper .mphb-attribute-title {
    font-weight: 600;
    color: #333;
    margin-right: 10px;
}

.mphb_sc_rooms .mphb-attribute-value,
.mphb_sc_rooms-wrapper .mphb-attribute-value {
    color: #666;
    font-weight: 500;
}

/* Price Styling */
.mphb_sc_rooms .mphb-regular-price,
.mphb_sc_rooms .mphb-room-type-price,
.mphb_sc_rooms-wrapper .mphb-regular-price,
.mphb_sc_rooms-wrapper .mphb-room-type-price {
    font-size: 16px;
    color: #333;
    margin: 0 0 25px 0;
    line-height: 1.6;
}

.mphb_sc_rooms .mphb-regular-price strong,
.mphb_sc_rooms-wrapper .mphb-regular-price strong {
    font-weight: 600;
    color: #333;
    margin-right: 8px;
}

.mphb_sc_rooms .mphb-price,
.mphb_sc_rooms-wrapper .mphb-price {
    font-size: 18px;
    font-weight: 700;
    color: #a3130e;
    display: inline-block;
    margin: 0 5px;
}

.mphb_sc_rooms .mphb-currency,
.mphb_sc_rooms-wrapper .mphb-currency {
    font-size: 20px;
    margin-right: 2px;
}

.mphb_sc_rooms .mphb-price-period,
.mphb_sc_rooms-wrapper .mphb-price-period {
    font-size: 14px;
    font-weight: 500;
    color: #888;
    text-transform: lowercase;
    margin-left: 5px;
}

/* Button Wrappers */
.mphb_sc_rooms .mphb-view-details-button-wrapper,
.mphb_sc_rooms .mphb-to-book-btn-wrapper,
.mphb_sc_rooms-wrapper .mphb-view-details-button-wrapper,
.mphb_sc_rooms-wrapper .mphb-to-book-btn-wrapper {
    margin: 0 0 15px 0;
}

.mphb_sc_rooms .mphb-to-book-btn-wrapper:last-child,
.mphb_sc_rooms-wrapper .mphb-to-book-btn-wrapper:last-child {
    margin-bottom: 0;
}

.mphb_sc_rooms .mphb-to-book-btn-wrapper br,
.mphb_sc_rooms-wrapper .mphb-to-book-btn-wrapper br {
    display: none;
}

/* Button Styling */
.mphb_sc_rooms .mphb-view-details-button,
.mphb_sc_rooms .mphb-book-button,
.mphb_sc_rooms a.button.mphb-view-details-button,
.mphb_sc_rooms button.button.mphb-book-button,
.mphb_sc_rooms-wrapper .mphb-view-details-button,
.mphb_sc_rooms-wrapper .mphb-book-button,
.mphb_sc_rooms-wrapper a.button.mphb-view-details-button,
.mphb_sc_rooms-wrapper button.button.mphb-book-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    background-color: #a3130e;
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid #a3130e;
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0.3px;
    width: 100%;
    box-sizing: border-box;
}

.mphb_sc_rooms .mphb-view-details-button:hover,
.mphb_sc_rooms .mphb-book-button:hover,
.mphb_sc_rooms a.button.mphb-view-details-button:hover,
.mphb_sc_rooms button.button.mphb-book-button:hover,
.mphb_sc_rooms-wrapper .mphb-view-details-button:hover,
.mphb_sc_rooms-wrapper .mphb-book-button:hover,
.mphb_sc_rooms-wrapper a.button.mphb-view-details-button:hover,
.mphb_sc_rooms-wrapper button.button.mphb-book-button:hover {
    background-color: #6d1d29;
    border-color: #6d1d29;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 38, 53, 0.35);
}

.mphb_sc_rooms .mphb-view-details-button:active,
.mphb_sc_rooms .mphb-book-button:active,
.mphb_sc_rooms-wrapper .mphb-view-details-button:active,
.mphb_sc_rooms-wrapper .mphb-book-button:active {
    transform: translateY(0);
}

/* Alternative View Details Button Style */
.mphb_sc_rooms .mphb-view-details-button,
.mphb_sc_rooms a.button.mphb-view-details-button,
.mphb_sc_rooms-wrapper .mphb-view-details-button,
.mphb_sc_rooms-wrapper a.button.mphb-view-details-button {
    background-color: transparent;
    color: #a3130e;
    border-color: #a3130e;
}

.mphb_sc_rooms .mphb-view-details-button:hover,
.mphb_sc_rooms a.button.mphb-view-details-button:hover,
.mphb_sc_rooms-wrapper .mphb-view-details-button:hover,
.mphb_sc_rooms-wrapper a.button.mphb-view-details-button:hover {
    background-color: #a3130e;
    color: #ffffff;
}

/* Form inside button wrapper */
.mphb_sc_rooms .mphb-to-book-btn-wrapper form,
.mphb_sc_rooms-wrapper .mphb-to-book-btn-wrapper form {
    margin: 0;
    display: block;
}

/* ============================================
   Single Room Widget - Enhanced Styling
   ============================================ */

/* ============================================
   Single Room Widget - Enhanced Styling
   ============================================ */

/* ============================================
   Services Widget
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-services .mphb_sc_services-wrapper,
.slv-widget-services .mphb_sc_services,
.mphb_sc_services-wrapper,
.mphb_sc_services {
    margin: 40px 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
}

.mphb_sc_services .mphb-service {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
}

.mphb_sc_services .mphb-service:hover {
    box-shadow: 0 8px 30px rgba(139, 38, 53, 0.15);
    transform: translateY(-5px);
    border-color: rgba(139, 38, 53, 0.2);
}

.mphb_sc_services .mphb-service-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.mphb_sc_services .mphb-service-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mphb_sc_services .mphb-service-title a:hover {
    color: #a3130e;
}

.mphb_sc_services .mphb-service-description {
    color: #666;
    line-height: 1.7;
    margin: 0 0 20px 0;
    font-size: 15px;
    flex: 1;
}

.mphb_sc_services .mphb-service-description p {
    margin-bottom: 10px;
}

.mphb_sc_services .mphb-service-description p:last-child {
    margin-bottom: 0;
}

.mphb_sc_services .mphb-service-price {
    font-size: 24px;
    font-weight: 700;
    color: #a3130e;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

/* ============================================
   Rates Widget
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-rates .mphb_sc_rates-wrapper,
.slv-widget-rates .mphb_sc_rates,
.mphb_sc_rates-wrapper,
.mphb_sc_rates {
    margin: 40px 0;
}

.mphb_sc_rates .mphb-rate {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px 30px;
    margin-bottom: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-left: 5px solid #a3130e;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-left-width: 5px;
}

.mphb_sc_rates .mphb-rate:hover {
    box-shadow: 0 8px 30px rgba(139, 38, 53, 0.15);
    transform: translateX(5px);
    border-left-color: #6d1d29;
}

.mphb_sc_rates .mphb-rate-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

.mphb_sc_rates .mphb-rate-description {
    color: #666;
    line-height: 1.7;
    margin: 0 0 15px 0;
    font-size: 15px;
}

.mphb_sc_rates .mphb-rate-description p {
    margin-bottom: 10px;
}

.mphb_sc_rates .mphb-rate-description p:last-child {
    margin-bottom: 0;
}

.mphb_sc_rates .mphb-rate-price {
    font-size: 28px;
    font-weight: 700;
    color: #a3130e;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.mphb_sc_rates .mphb-rate-price .mphb-price-period {
    font-size: 14px;
    font-weight: 500;
    color: #888;
    text-transform: lowercase;
}

/* ============================================
   Availability Widget (Booking Form)
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-availability .mphb_sc_booking-form,
.mphb_sc_booking-form {
    background: rgba(245, 245, 245, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 30px;
    margin: 30px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mphb_sc_booking-form form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.mphb_sc_booking-form .mphb-required-fields-tip {
    grid-column: 1 / -1;
    font-size: 12px;
    color: #666;
    margin-bottom: 15px;
}

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

.mphb_sc_booking-form input[type="text"],
.mphb_sc_booking-form input[type="email"],
.mphb_sc_booking-form input[type="tel"],
.mphb_sc_booking-form select,
.mphb_sc_booking-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.mphb_sc_booking-form input[type="text"]:focus,
.mphb_sc_booking-form input[type="email"]:focus,
.mphb_sc_booking-form input[type="tel"]:focus,
.mphb_sc_booking-form select:focus,
.mphb_sc_booking-form textarea:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

.mphb_sc_booking-form input[type="submit"],
.mphb_sc_booking-form button[type="submit"] {
    grid-column: 1 / -1;
    width: 100%;
    padding: 15px 30px;
    background-color: #a3130e;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mphb_sc_booking-form input[type="submit"]:hover,
.mphb_sc_booking-form button[type="submit"]:hover {
    background-color: #6d1d29;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 38, 53, 0.3);
}

/* ============================================
   Booking Confirmation Widget
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-booking-confirmation .mphb_sc_booking-confirmation,
.mphb_sc_booking-confirmation {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    margin: 30px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mphb_sc_booking-confirmation .mphb-booking-confirmation-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

.mphb_sc_booking-confirmation .mphb-booking-details {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.mphb_sc_booking-confirmation .mphb-booking-detail {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.mphb_sc_booking-confirmation .mphb-booking-detail:last-child {
    border-bottom: none;
}

.mphb_sc_booking-confirmation .mphb-booking-detail-label {
    font-weight: 600;
    color: #333;
}

.mphb_sc_booking-confirmation .mphb-booking-detail-value {
    color: #666;
}

/* ============================================
   Checkout Widget
   ============================================ */
/* Scoped within widget wrapper */
.slv-widget-checkout .mphb_sc_checkout,
.mphb_sc_checkout {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    margin: 30px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mphb_sc_checkout .mphb-checkout-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin-bottom: 25px;
}

.mphb_sc_checkout form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.mphb_sc_checkout .mphb-checkout-section {
    grid-column: 1 / -1;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #eee;
}

.mphb_sc_checkout .mphb-checkout-section:last-child {
    border-bottom: none;
}

.mphb_sc_checkout .mphb-checkout-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}

.mphb_sc_checkout label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
    font-size: 14px;
}

.mphb_sc_checkout input[type="text"],
.mphb_sc_checkout input[type="email"],
.mphb_sc_checkout input[type="tel"],
.mphb_sc_checkout select,
.mphb_sc_checkout textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.mphb_sc_checkout input[type="text"]:focus,
.mphb_sc_checkout input[type="email"]:focus,
.mphb_sc_checkout input[type="tel"]:focus,
.mphb_sc_checkout select:focus,
.mphb_sc_checkout textarea:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

.mphb_sc_checkout .mphb-checkout-total {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
}

.mphb_sc_checkout .mphb-checkout-total-label {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}

.mphb_sc_checkout .mphb-checkout-total-price {
    font-size: 28px;
    font-weight: 700;
    color: #a3130e;
}

.mphb_sc_checkout input[type="submit"],
.mphb_sc_checkout button[type="submit"] {
    grid-column: 1 / -1;
    width: 100%;
    padding: 15px 30px;
    background-color: #a3130e;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 20px;
}

.mphb_sc_checkout input[type="submit"]:hover,
.mphb_sc_checkout button[type="submit"]:hover {
    background-color: #6d1d29;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 38, 53, 0.3);
}

/* ============================================
   Availability Calendar Widget - Grid Refactor
   ============================================ */

/* Widget Container */
.slv-widget-availability-calendar {
    margin: 40px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
        sans-serif;
}

.slv-widget-availability-calendar .belegungsplan-title {
    font-size: 24px;
    font-weight: 700;
    color: #4a4a4a;
    margin-bottom: 20px;
}

/* Wrapper */
.slv-widget-availability-calendar .calendar-shortcode-wrapper {
    position: relative;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* MPHB Calendar Core */
.slv-widget-availability-calendar .mphb_sc_availability-calendar {
    width: 100% !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.slv-widget-availability-calendar .mphb-calendar {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

/*
   Main Layout - Flexbox with Wrapper Handling
   Using Flex allows better handling of unknown intermediate wrappers if we use display: contents
*/
.slv-widget-availability-calendar .datepick {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    float: none !important;
    padding-top: 0 !important; /* No extra top padding */
    margin-bottom: 0 !important; /* Reduce bottom space */
}

/*
   Key Fix: If there is a row wrapper (e.g. .datepick-month-row),
   make it disappear from the layout flow so children participate in the main flex container.
*/
.slv-widget-availability-calendar .datepick-month-row {
    display: contents !important;
}

/* Individual Month Container */
.slv-widget-availability-calendar .datepick-month {
    flex: 0 0 48% !important; /* Force 48% width, don't grow or shrink */
    width: 48% !important;
    max-width: 48% !important;
    margin-bottom: 0 !important; /* No bottom margin */
    box-sizing: border-box !important;
    float: none !important;
    border: none !important;
    background: transparent !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    clear: none !important; /* Crucial: prevent clearing previous floats/flex items */
}

/*
   Hide ALL default controls strips.
   There are often two: .datepick-ctrl (bottom/top bar) and .datepick-nav (prev/next/today).
   We only want Prev/Next arrows.
*/
.slv-widget-availability-calendar .datepick-ctrl {
    display: none !important;
}

/* Hide "Today" button */
.slv-widget-availability-calendar .datepick-cmd-today {
    display: none !important;
}

/* Hide navigation in datepick-nav - we only use month header navigation */
.slv-widget-availability-calendar .datepick-nav .datepick-prev,
.slv-widget-availability-calendar .datepick-nav .datepick-next,
.slv-widget-availability-calendar .datepick-nav a.datepick-prev,
.slv-widget-availability-calendar .datepick-nav a.datepick-next {
    display: none !important;
}

/* Navigation arrows only in month headers - hide all others */

/*
   Month Header Styling - Dark Grey Background with White Text
   Simple and clean
*/
.slv-widget-availability-calendar .datepick-month-header,
.slv-widget-availability-calendar .datepick-month-header > * {
    background-color: #4a4a4a !important;
    color: #f3f1f1 !important;
    padding: 12px 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

.slv-widget-availability-calendar .datepick-month-header .datepick-month-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
    flex: 1 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
}

/* Navigation arrows in headers - Show both prev and next buttons */
.slv-widget-availability-calendar .datepick-month-header .datepick-prev,
.slv-widget-availability-calendar .datepick-month-header .datepick-next,
.slv-widget-availability-calendar .datepick-month-header a.datepick-prev,
.slv-widget-availability-calendar .datepick-month-header a.datepick-next,
.mphb-calendar .datepick-month-header .datepick-prev,
.mphb-calendar .datepick-month-header .datepick-next,
.mphb-calendar .datepick-month-header a.datepick-prev,
.mphb-calendar .datepick-month-header a.datepick-next {
    cursor: pointer !important;
    font-size: 18px !important;
    color: #000 !important;
    padding: 5px 10px !important;
    border: none !important;
    background: transparent !important;
    transition: opacity 0.3s ease !important;
    text-decoration: none !important;
    display: inline-block !important;
    opacity: 0.8 !important;
    visibility: visible !important;
}

/* Show prev button in first month */
.slv-widget-availability-calendar
    .datepick-month:first-child
    .datepick-month-header
    .datepick-prev,
.slv-widget-availability-calendar
    .datepick-month:first-child
    .datepick-month-header
    a.datepick-prev {
    display: inline-block !important;
    visibility: visible !important;
}

/* Show next button in last month */
.slv-widget-availability-calendar
    .datepick-month:last-child
    .datepick-month-header
    .datepick-next,
.slv-widget-availability-calendar
    .datepick-month:last-child
    .datepick-month-header
    a.datepick-next {
    display: inline-block !important;
    visibility: visible !important;
}

.slv-widget-availability-calendar .datepick-month-header .datepick-prev:hover,
.slv-widget-availability-calendar .datepick-month-header .datepick-next:hover,
.slv-widget-availability-calendar .datepick-month-header a.datepick-prev:hover,
.slv-widget-availability-calendar .datepick-month-header a.datepick-next:hover,
.mphb-calendar .datepick-month-header .datepick-prev:hover,
.mphb-calendar .datepick-month-header .datepick-next:hover,
.mphb-calendar .datepick-month-header a.datepick-prev:hover,
.mphb-calendar .datepick-month-header a.datepick-next:hover {
    opacity: 1 !important;
}

.slv-widget-availability-calendar .datepick-month-header .datepick-prev:before,
.slv-widget-availability-calendar .datepick-month-header a.datepick-prev:before,
.mphb-calendar .datepick-month-header .datepick-prev:before,
.mphb-calendar .datepick-month-header a.datepick-prev:before {
    content: "<" !important;
}

.slv-widget-availability-calendar .datepick-month-header .datepick-next:before,
.slv-widget-availability-calendar .datepick-month-header a.datepick-next:before,
.mphb-calendar .datepick-month-header .datepick-next:before,
.mphb-calendar .datepick-month-header a.datepick-next:before {
    content: ">" !important;
}

.slv-widget-availability-calendar .datepick-month-header select {
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 0;
    margin: 0;
}

/* Calendar Table Headers (Day Names) - Dark Grey Background with White Text */
.slv-widget-availability-calendar .datepick-month table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #e0e0e0 !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
}
.slv-widget-availability-calendar .datepick-nav {
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 0;
    margin: 0;
}
.slv-widget-availability-calendar .datepick-nav {
    transform: translateY(-25px);
}
.datepick-cmd:hover {
    background-color: transparent !important;
}
.datepick-cmd {
    color: #333 !important;
}
/* a.datepick-cmd.datepick-cmd-next {
    font-size: 16px !important;
} */
.slv-widget-availability-calendar .datepick-month th,
.slv-widget-availability-calendar .datepick-month th span,
.slv-widget-availability-calendar .datepick-month thead th {
    background-color: #4a4a4a !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 10px 4px !important;
    border: 1px solid #5a5a5a !important;
    text-transform: uppercase !important;
}

.slv-widget-availability-calendar .datepick-month td {
    padding: 0 !important;
    border: 1px solid #e0e0e0 !important;
    background-color: #fff !important;
    text-align: center !important;
    position: relative !important;
}

.slv-widget-availability-calendar .datepick-month td span,
.slv-widget-availability-calendar .datepick-month td a,
.slv-widget-availability-calendar .datepick-month td .mphb-date-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 45px !important;
    padding: 12px 4px !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #000 !important;
    background-color: #fff !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

/* Dates from other months - Light Grey */
.slv-widget-availability-calendar .datepick-month td.datepick-other-month,
.slv-widget-availability-calendar .datepick-month td.datepick-other-month > a,
.slv-widget-availability-calendar
    .datepick-month
    td.datepick-other-month
    > span,
.slv-widget-availability-calendar
    .datepick-month
    td.datepick-other-month
    .mphb-date-cell {
    background-color: #f5f5f5 !important;
    color: #999 !important;
}

/* Color Mappings - Exact match to image */
/* Haus frei (House free) - Light Green */
.slv-widget-availability-calendar .mphb-available-date,
.slv-widget-availability-calendar .datepick-month td .mphb-available-date,
.slv-widget-availability-calendar .datepick-month td a.mphb-available-date,
.slv-widget-availability-calendar .datepick-month td span.mphb-available-date,
.slv-widget-availability-calendar
    .datepick-month
    td
    .mphb-date-cell.mphb-available-date {
    background-color: #cef093 !important;
    color: #000 !important;
}

/* Haus belegt (House occupied) - Orange */
.slv-widget-availability-calendar .mphb-booked-date,
.slv-widget-availability-calendar .mphb-not-available-date,
.slv-widget-availability-calendar .datepick-month td .mphb-booked-date,
.slv-widget-availability-calendar .datepick-month td .mphb-not-available-date,
.slv-widget-availability-calendar .datepick-month td a.mphb-booked-date,
.slv-widget-availability-calendar .datepick-month td a.mphb-not-available-date,
.slv-widget-availability-calendar .datepick-month td span.mphb-booked-date,
.slv-widget-availability-calendar
    .datepick-month
    td
    span.mphb-not-available-date,
.slv-widget-availability-calendar
    .datepick-month
    td
    .mphb-date-cell.mphb-booked-date,
.slv-widget-availability-calendar
    .datepick-month
    td
    .mphb-date-cell.mphb-not-available-date {
    background-color: #ff8c42 !important;
    color: #fff !important;
}

/* auf Anfrage (On request) - Yellow */
.slv-widget-availability-calendar .mphb-mark-as-unavailable,
.slv-widget-availability-calendar .mphb-on-request-date,
.slv-widget-availability-calendar .datepick-month td .mphb-mark-as-unavailable,
.slv-widget-availability-calendar .datepick-month td .mphb-on-request-date {
    background-color: #ffd700 !important;
    color: #000 !important;
}

/* Past dates - White with grey text */
.slv-widget-availability-calendar .mphb-past-date,
.slv-widget-availability-calendar .datepick-month td .mphb-past-date {
    background-color: #fff !important;
    color: #999 !important;
}

/* Diagonal Splits for Partial Bookings - Light green top-left, orange bottom-right */
/* Check-in: morning free (green), afternoon occupied (orange) */
.slv-widget-availability-calendar .mphb-out-of-season-date--check-in,
.slv-widget-availability-calendar .mphb-date-check-in,
.slv-widget-availability-calendar
    .datepick-month
    td
    .mphb-out-of-season-date--check-in,
.slv-widget-availability-calendar .datepick-month td .mphb-date-check-in {
    background: linear-gradient(
        to bottom right,
        #cef093 0%,
        #cef093 50%,
        #ff8c42 50%,
        #ff8c42 100%
    ) !important;
    color: #000 !important;
}

/* Check-out: morning occupied (orange), afternoon free (green) */
.slv-widget-availability-calendar .mphb-out-of-season-date--check-out,
.slv-widget-availability-calendar .mphb-date-check-out,
.slv-widget-availability-calendar
    .datepick-month
    td
    .mphb-out-of-season-date--check-out,
.slv-widget-availability-calendar .datepick-month td .mphb-date-check-out {
    background: linear-gradient(
        to top left,
        #cef093 0%,
        #cef093 50%,
        #ff8c42 50%,
        #ff8c42 100%
    ) !important;
    color: #000 !important;
}

/* Legend Styling */
.slv-widget-availability-calendar .calendar-footer {
    margin-top: 70px !important;
    margin-bottom: 0 !important;
    /* border-top: 1px solid #d4c5c5; */
    padding-top: 15px !important;
    padding-bottom: 0 !important;
}

.slv-widget-availability-calendar .calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
    justify-content: flex-start; /* Ensure left align */
}

.slv-widget-availability-calendar .calendar-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px; /* Smaller legend text */
    color: #666;
}

.slv-widget-availability-calendar .calendar-legend-color {
    width: 20px;
    height: 14px;
    border-radius: 3px;
    flex-shrink: 0;
}

.slv-widget-availability-calendar .legend-free {
    background-color: #cef093 !important;
}
.slv-widget-availability-calendar .legend-partial {
    background: linear-gradient(
        to bottom right,
        #cef093 0%,
        #cef093 50%,
        #ff8c42 50%,
        #ff8c42 100%
    ) !important;
}
.slv-widget-availability-calendar .legend-on-request {
    background-color: #ffd700 !important;
}
.slv-widget-availability-calendar .legend-occupied {
    background-color: #ff8c42 !important;
}

/* Footer Links Styling */
.slv-widget-availability-calendar .calendar-footer-links {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding-top: 15px;
}

.slv-widget-availability-calendar .jahresuebersicht-link {
    font-size: 16px;
    font-weight: 600;
    color: #4ca9df;
    text-decoration: none;
}

.slv-widget-availability-calendar .jahresuebersicht-link:hover {
    text-decoration: underline;
}

.slv-widget-availability-calendar .last-edited {
    font-size: 14px;
    color: #888;
}

/* Mobile Responsive */
@media screen and (max-width: 767px) {
    .slv-widget.slv-widget-availability-calendar {
        padding: 10px;
    }
    /* Stack months vertically on mobile */
    .slv-widget-availability-calendar .datepick {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .slv-widget-availability-calendar .datepick-month {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        margin-bottom: 20px !important;
    }

    /* Adjust month header for mobile */
    .slv-widget-availability-calendar .datepick-month-header {
        padding: 10px 12px !important;
        font-size: 14px !important;
    }

    .slv-widget-availability-calendar
        .datepick-month-header
        .datepick-month-name {
        font-size: 14px !important;
    }

    /* Navigation buttons on mobile */
    .slv-widget-availability-calendar .datepick-month-header .datepick-prev,
    .slv-widget-availability-calendar .datepick-month-header .datepick-next,
    .slv-widget-availability-calendar .datepick-month-header a.datepick-prev,
    .slv-widget-availability-calendar .datepick-month-header a.datepick-next {
        font-size: 16px !important;
        padding: 3px 8px !important;
    }

    /* Calendar table on mobile */
    .slv-widget-availability-calendar .datepick-month table {
        font-size: 12px !important;
    }

    .slv-widget-availability-calendar .datepick-month th {
        font-size: 10px !important;
        padding: 8px 2px !important;
    }

    .slv-widget-availability-calendar .datepick-month td span,
    .slv-widget-availability-calendar .datepick-month td a,
    .slv-widget-availability-calendar .datepick-month td .mphb-date-cell {
        min-height: 35px !important;
        padding: 8px 2px !important;
        font-size: 12px !important;
    }

    /* Calendar footer on mobile */
    .slv-widget-availability-calendar .calendar-footer {
        margin-top: 0px !important;
        padding-top: 5px !important;
    }

    .slv-widget-availability-calendar .calendar-legend {
        flex-direction: column !important;
        gap: 10px !important;
        align-items: flex-start !important;
    }

    .slv-widget-availability-calendar .calendar-legend-item {
        font-size: 12px !important;
    }

    .slv-widget-availability-calendar .calendar-footer-links {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .slv-widget-availability-calendar .jahresuebersicht-link {
        font-size: 14px !important;
    }

    .slv-widget-availability-calendar .last-edited {
        font-size: 12px !important;
    }

    /* Adjust datepick-nav transform on mobile */
    .slv-widget-availability-calendar .datepick-nav {
        transform: translateY(0) !important;
        position: relative !important;
    }
}

/* ============================================
   Accommodation Widgets
   ============================================ */

/* Accommodation Title Widget */
.mphb-single-room-type-attribute.mphb-room-type-title,
.mphb-single-room-type-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
}

.mphb-single-room-type-attribute.mphb-room-type-title a,
.mphb-single-room-type-title a {
    color: #a3130e;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mphb-single-room-type-attribute.mphb-room-type-title a:hover,
.mphb-single-room-type-title a:hover {
    color: #6d1d29;
}

/* Accommodation Price Widget */
.mphb-single-room-type-attribute.mphb-room-type-price,
.mphb-room-type-price {
    font-size: 28px;
    font-weight: 600;
    color: #a3130e;
    margin-bottom: 20px;
}

/* Accommodation Content Widget */
.mphb-single-room-type-content {
    color: #555;
    line-height: 1.8;
    margin-bottom: 25px;
}

.mphb-single-room-type-content p {
    margin-bottom: 15px;
}

/* Accommodation Featured Image Widget */
.mphb-single-room-type-thumbnail {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 25px;
}

.mphb-single-room-type-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.mphb-single-room-type-thumbnail a {
    display: block;
    transition: opacity 0.3s ease;
}

.mphb-single-room-type-thumbnail a:hover {
    opacity: 0.9;
}

/* Accommodation Gallery Widget */
.mphb-single-room-type-gallery,
.mphb-room-type-gallery {
    margin-bottom: 25px;
}

.mphb-single-room-type-gallery img,
.mphb-room-type-gallery img {
    border-radius: 8px;
    margin-bottom: 10px;
}

/* Accommodation Attributes Widget */
.mphb-single-room-type-attribute {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

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

.mphb-single-room-type-attribute .mphb-attribute-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}

.mphb-single-room-type-attribute .mphb-attribute-value {
    color: #666;
    line-height: 1.6;
}

/* ============================================
   Responsive Styles for All Widgets
   ============================================ */
@media screen and (max-width: 768px) {
    /* Rooms Widget - Mobile */
    .mphb_sc_rooms-wrapper,
    .mphb_sc_rooms {
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 30px 0;
    }

    .mphb_sc_rooms .mphb-room-type,
    .mphb_sc_rooms-wrapper .mphb-room-type {
        padding: 20px;
    }

    .mphb_sc_rooms .mphb-room-type-gallery,
    .mphb_sc_rooms .mphb-room-type-featured-image,
    .mphb_sc_rooms-wrapper .mphb-room-type-gallery,
    .mphb_sc_rooms-wrapper .mphb-room-type-featured-image {
        height: 220px;
        margin-bottom: 20px;
    }

    .mphb_sc_rooms .mphb-room-type-title,
    .mphb_sc_rooms-wrapper .mphb-room-type-title {
        font-size: 22px;
        margin-bottom: 15px;
    }

    .mphb_sc_rooms .mphb-price,
    .mphb_sc_rooms-wrapper .mphb-price {
        font-size: 24px;
    }

    .mphb_sc_rooms .mphb-view-details-button,
    .mphb_sc_rooms .mphb-book-button,
    .mphb_sc_rooms a.button.mphb-view-details-button,
    .mphb_sc_rooms button.button.mphb-book-button,
    .mphb_sc_rooms-wrapper .mphb-view-details-button,
    .mphb_sc_rooms-wrapper .mphb-book-button,
    .mphb_sc_rooms-wrapper a.button.mphb-view-details-button,
    .mphb_sc_rooms-wrapper button.button.mphb-book-button {
        width: 100%;
        padding: 12px 24px;
        font-size: 14px;
    }

    /* Search Results - Mobile */
    .mphb_sc_search-results .mphb-room-type-title {
        font-size: 22px;
        padding: 20px 20px 0 20px;
    }

    .mphb_sc_search-results .mphb-room-type-featured-image,
    .mphb_sc_search-results .mphb-room-type-gallery {
        height: 220px;
    }

    .mphb_sc_search-results .mphb-room-type-excerpt {
        padding: 0 20px;
    }

    .mphb_sc_search-results .mphb-room-type-price {
        font-size: 24px;
        padding: 0 20px;
    }

    .mphb_sc_search-results .mphb-room-type-buttons {
        flex-direction: column;
        padding: 0 20px 20px 20px;
    }

    .mphb_sc_search-results .mphb-view-details-button,
    .mphb_sc_search-results .mphb-book-button {
        width: 100%;
        min-width: auto;
    }

    /* Single Room - Mobile */
    .mphb_sc_room-wrapper .mphb-room-type,
    .mphb_sc_room .mphb-room-type {
        border-radius: 16px;
        padding: 0;
    }

    .mphb_sc_room-wrapper
        .mphb-room-type
        > *:not(.mphb-room-type-images):not(.mphb-to-book-btn-wrapper),
    .mphb_sc_room
        .mphb-room-type
        > *:not(.mphb-room-type-images):not(.mphb-to-book-btn-wrapper) {
        padding: 0 25px;
    }

    /* Gallery Images Container - Mobile */
    .mphb_sc_room-wrapper .mphb-room-type-images,
    .mphb_sc_room .mphb-room-type-images {
        margin: 0;
    }

    /* Flexslider Gallery Main Slider - Mobile */
    .mphb_sc_room-wrapper .mphb-gallery-main-slider,
    .mphb_sc_room .mphb-gallery-main-slider {
        height: 400px;
    }

    /* Flexslider Gallery Thumbnail Slider - Mobile */
    .mphb_sc_room-wrapper .mphb-gallery-thumbnail-slider,
    .mphb_sc_room .mphb-gallery-thumbnail-slider {
        padding: 15px 20px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mphb_sc_room-wrapper .mphb-gallery-thumbnail-slider .slides img,
    .mphb_sc_room .mphb-gallery-thumbnail-slider .slides img {
        width: 100px;
        height: 70px;
    }

    /* Gallery Navigation - Mobile */
    .mphb_sc_room-wrapper .flex-nav-prev,
    .mphb_sc_room .flex-nav-prev {
        left: 15px;
    }

    .mphb_sc_room-wrapper .flex-nav-next,
    .mphb_sc_room .flex-nav-next {
        right: 15px;
    }

    .mphb_sc_room-wrapper .flex-direction-nav a,
    .mphb_sc_room .flex-direction-nav a {
        width: 50px;
        height: 50px;
        opacity: 1;
        transform: scale(1);
    }

    .mphb_sc_room-wrapper .flex-direction-nav a:before,
    .mphb_sc_room .flex-direction-nav a:before {
        width: 10px;
        height: 10px;
        border-width: 2px;
    }

    /* Fallback featured image - Mobile */
    .mphb_sc_room-wrapper .mphb-room-type-featured-image,
    .mphb_sc_room .mphb-room-type-featured-image {
        height: 350px;
        border-radius: 0;
    }

    .mphb_sc_room-wrapper .mphb-room-type-title,
    .mphb_sc_room .mphb-room-type-title {
        font-size: 32px;
        margin-bottom: 20px;
        padding-top: 30px;
    }

    /* Content paragraph - Mobile */
    .mphb_sc_room-wrapper
        .mphb-room-type
        > p:not(.mphb-regular-price):not(.mphb-room-type-excerpt),
    .mphb_sc_room
        .mphb-room-type
        > p:not(.mphb-regular-price):not(.mphb-room-type-excerpt) {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .mphb_sc_room-wrapper .mphb-room-type-excerpt,
    .mphb_sc_room .mphb-room-type-excerpt {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .mphb_sc_room-wrapper .mphb-room-type-details-title,
    .mphb_sc_room .mphb-room-type-details-title {
        font-size: 22px;
        margin-bottom: 20px;
        padding-top: 30px;
        padding-left: 15px;
    }

    .mphb_sc_room-wrapper .mphb-room-type-details-title:before,
    .mphb_sc_room .mphb-room-type-details-title:before {
        top: 30px;
        height: 22px;
    }

    /* Attributes - Mobile */
    .mphb_sc_room-wrapper .mphb-loop-room-type-attributes,
    .mphb_sc_room-wrapper .mphb-room-type-attributes,
    .mphb_sc_room .mphb-loop-room-type-attributes,
    .mphb_sc_room .mphb-room-type-attributes {
        padding: 15px;
        margin-bottom: 30px;
    }

    .mphb_sc_room-wrapper .mphb-loop-room-type-attributes li,
    .mphb_sc_room-wrapper .mphb-room-type-attributes li,
    .mphb_sc_room .mphb-loop-room-type-attributes li,
    .mphb_sc_room .mphb-room-type-attributes li {
        padding: 15px 15px;
        font-size: 15px;
    }

    /* Price - Mobile */
    .mphb_sc_room-wrapper .mphb-regular-price,
    .mphb_sc_room-wrapper .mphb-room-type-price,
    .mphb_sc_room .mphb-regular-price,
    .mphb_sc_room .mphb-room-type-price {
        padding: 25px 20px;
        margin-bottom: 30px;
    }

    .mphb_sc_room-wrapper .mphb-price,
    .mphb_sc_room .mphb-price {
        font-size: 38px;
    }

    .mphb_sc_room-wrapper .mphb-currency,
    .mphb_sc_room .mphb-currency {
        font-size: 26px;
    }

    /* Buttons - Mobile */
    .mphb_sc_room-wrapper .mphb-view-details-button,
    .mphb_sc_room-wrapper .mphb-book-button,
    .mphb_sc_room-wrapper a.button.mphb-view-details-button,
    .mphb_sc_room-wrapper button.button.mphb-book-button,
    .mphb_sc_room .mphb-view-details-button,
    .mphb_sc_room .mphb-book-button,
    .mphb_sc_room a.button.mphb-view-details-button,
    .mphb_sc_room button.button.mphb-book-button {
        padding: 18px 35px;
        font-size: 16px;
    }

    .mphb_sc_room-wrapper .mphb-loop-room-type-attributes li,
    .mphb_sc_room-wrapper .mphb-room-type-attributes li,
    .mphb_sc_room .mphb-loop-room-type-attributes li,
    .mphb_sc_room .mphb-room-type-attributes li {
        padding: 12px 0;
        font-size: 15px;
    }

    .mphb_sc_room-wrapper .mphb-regular-price,
    .mphb_sc_room-wrapper .mphb-room-type-price,
    .mphb_sc_room .mphb-regular-price,
    .mphb_sc_room .mphb-room-type-price {
        margin: 0 0 25px 0;
        padding: 20px 0;
    }

    .mphb_sc_room-wrapper .mphb-price,
    .mphb_sc_room .mphb-price {
        font-size: 32px;
    }

    .mphb_sc_room-wrapper .mphb-currency,
    .mphb_sc_room .mphb-currency {
        font-size: 24px;
    }

    .mphb_sc_room-wrapper .mphb-view-details-button,
    .mphb_sc_room-wrapper .mphb-book-button,
    .mphb_sc_room-wrapper a.button.mphb-view-details-button,
    .mphb_sc_room-wrapper button.button.mphb-book-button,
    .mphb_sc_room .mphb-view-details-button,
    .mphb_sc_room .mphb-book-button,
    .mphb_sc_room a.button.mphb-view-details-button,
    .mphb_sc_room button.button.mphb-book-button {
        padding: 16px 32px;
        font-size: 16px;
    }

    /* Booking Form - Mobile */
    .mphb_sc_booking-form {
        padding: 20px;
    }

    .mphb_sc_booking-form form {
        grid-template-columns: 1fr;
    }

    /* Checkout - Mobile */
    .mphb_sc_checkout {
        padding: 20px;
    }

    .mphb_sc_checkout form {
        grid-template-columns: 1fr;
    }

    /* Accommodation Title - Mobile */
    .mphb-single-room-type-title {
        font-size: 26px;
    }

    /* Accommodation Price - Mobile */
    .mphb-room-type-price {
        font-size: 24px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    /* Rooms Widget - Tablet */
    .mphb_sc_rooms-wrapper,
    .mphb_sc_rooms {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 25px;
    }
}

/* ============================================
   Single Room Widget - Premium Styling
   ============================================ */
.slv-widget-room {
    background-color: #ffffff;
    padding: 24px;
    border-radius: 12px;
    transition: box-shadow 0.3s ease;
    position: relative;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.slv-widget-room:hover {
    box-shadow: 0 4px 20px rgba(139, 38, 53, 0.12);
}

/* Room Title */
.slv-widget-room h2,
.slv-widget-room h3,
.slv-widget-room .mphb-room-type-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 16px;
    line-height: 1.3;
}

.slv-widget-room h2 {
    font-size: 28px;
}

.slv-widget-room h3 {
    font-size: 24px;
}

/* Room Excerpt/Description */
.slv-widget-room p,
.slv-widget-room .mphb-room-type-description {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    margin-bottom: 20px;
}

/* Room Details */
.slv-widget-room .mphb-room-type-attributes,
.slv-widget-room .mphb-room-type-facilities {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    border: 1px solid #e5e5e5;
}

.slv-widget-room .mphb-room-type-attributes li,
.slv-widget-room .mphb-room-type-facilities li {
    padding: 10px 0;
    border-bottom: 1px solid #e5e5e5;
    font-size: 15px;
    color: #333;
    transition: color 0.3s ease;
}

.slv-widget-room .mphb-room-type-attributes li:hover,
.slv-widget-room .mphb-room-type-facilities li:hover {
    color: #a3130e;
}

.slv-widget-room .mphb-room-type-attributes li:last-child,
.slv-widget-room .mphb-room-type-facilities li:last-child {
    border-bottom: none;
}

/* Price Styling - Clean Display, Not Button-like */
.slv-widget-room .mphb-room-type-price,
.slv-widget-room .mphb-price {
    background-color: #f9f9f9;
    border-left: 4px solid #a3130e;
    padding: 16px 20px;
    margin: 20px 0;
    border-radius: 0;
}

.slv-widget-room .mphb-price,
.slv-widget-room .mphb-room-type-price .mphb-price {
    font-size: 32px;
    font-weight: 700;
    color: #a3130e;
    background: transparent;
    padding: 0;
    margin: 0;
    display: inline-block;
    border: none;
}

.slv-widget-room .mphb-price-period {
    font-size: 16px;
    color: #666;
    font-weight: 400;
    margin-left: 8px;
}

/* Buttons */
.slv-widget-room .button,
.slv-widget-room a.button,
.slv-widget-room .mphb-button,
.slv-widget-room input[type="submit"],
.slv-widget-room button {
    display: inline-block;
    padding: 14px 28px;
    background-color: #a3130e;
    color: #ffffff !important;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(139, 38, 53, 0.2);
    text-align: center;
}

.slv-widget-room .button:hover,
.slv-widget-room a.button:hover,
.slv-widget-room .mphb-button:hover {
    background-color: #6d1d29;
    box-shadow: 0 4px 12px rgba(139, 38, 53, 0.3);
    transform: translateY(-2px);
}

.slv-widget-room .button:active,
.slv-widget-room a.button:active,
.slv-widget-room .mphb-button:active {
    transform: translateY(0);
}

/* Gallery/Slider - Don't interfere with slider functionality */
.slv-widget-room .mphb-room-type-gallery,
.slv-widget-room .mphb-room-type-featured-image {
    margin-bottom: 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .slv-widget-room {
        padding: 20px;
    }

    .slv-widget-room h2 {
        font-size: 24px;
    }

    .slv-widget-room h3 {
        font-size: 20px;
    }

    .slv-widget-room .button,
    .slv-widget-room a.button,
    .slv-widget-room .mphb-button {
        padding: 12px 24px;
        font-size: 14px;
    }
}

/* List styling improvements - Only for attributes and facilities, NOT gallery */
.slv-widget-room .mphb-room-type-attributes,
.slv-widget-room .mphb-room-type-facilities {
    list-style: none;
    padding-left: 0;
}

/* Remove the general ul styling that was affecting gallery */
.slv-widget-room .mphb-room-type-attributes li::before,
.slv-widget-room .mphb-room-type-facilities li::before {
    content: "✓";
    color: #a3130e;
    font-weight: bold;
    display: inline-block;
    width: 1.5em;
    margin-left: -1.5em;
}

/* Make sure gallery lists don't get checkmarks */
.slv-widget-room .mphb-room-type-gallery li::before,
.slv-widget-room .mphb-room-type-featured-image li::before,
.slv-widget-room .slick-dots li::before,
.slv-widget-room .gallery li::before {
    content: none !important;
}

/* Links */
.slv-widget-room a:not(.button):not(.mphb-button) {
    color: #a3130e;
    text-decoration: none;
    transition: color 0.3s ease;
}

.slv-widget-room a:not(.button):not(.mphb-button):hover {
    color: #6d1d29;
    text-decoration: underline;
}

/* -----------------------------------
   General Widget Wrapper
----------------------------------- */
.slv-widget-search-results,
.mphb_sc_search_results-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
    font-family: inherit;
}

/* -----------------------------------
   Search Result Info
----------------------------------- */
.mphb_sc_search_results-info {
    background: #f6f6f6;
    padding: 12px 18px;
    border-left: 4px solid #a3130e;
    font-size: 16px;
    margin-bottom: 20px;
}

/* -----------------------------------
   Recommendation Title
----------------------------------- */
.mphb-recommendation-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
}

/* -----------------------------------
   Recommendation Box
----------------------------------- */
.mphb-recommendation {
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 6px;
    margin-bottom: 25px;
    background: #fff;
}

.mphb-recommendation-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mphb-recommendation-item-link {
    font-weight: 600;
    color: #1e73be;
    text-decoration: none;
}

.mphb-recommendation-item-link:hover {
    text-decoration: underline;
}

/* Price & total */
.mphb-price {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
}

.mphb-recommendation-total {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
}

/* -----------------------------------
   Buttons
----------------------------------- */

.mphb-button {
    background: #a3130e;
    border: none;
    color: #fff;
    padding: 10px 22px;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 15px;
    font-size: 15px;
    font-weight: 600;
    transition: background 0.2s ease;
}

.mphb-button:hover {
    background: #a3130e;
}

/* -----------------------------------
   Empty Cart Box
----------------------------------- */
.mphb-reservation-cart {
    margin-top: 25px;
    padding: 20px;
    border-radius: 6px;
    background: #fafafa;
    border: 1px dashed #ccc;
}

.mphb-empty-cart-message {
    font-style: italic;
    color: #777;
}

/* -----------------------------------
   Room Type Wrapper
----------------------------------- */
.mphb-room-type {
    margin-top: 40px;
}

/* -----------------------------------
   FlexSlider Adjustments (Gallery)
----------------------------------- */

.mphb-gallery-main-slider img,
.mphb-gallery-thumbnail-slider img {
    border-radius: 6px;
}

/* Main image slider height fix */
.mphb-gallery-main-slider .slides li img {
    width: 100%;
    height: auto;
    display: block;
}

/* Thumbnail slider */
.mphb-gallery-thumbnail-slider .slides li img {
    border: 2px solid transparent;
    border-radius: 4px;
    transition: 0.2s;
}

.mphb-gallery-thumbnail-slider .flex-active-slide img {
    border-color: #2a72d6;
}

/* Remove default arrows text */
.flex-direction-nav a {
    opacity: 0;
}

/* Custom arrows */
.flex-direction-nav a.flex-prev::before,
.flex-direction-nav a.flex-next::before {
    opacity: 1;
    font-size: 22px;
    color: #333;
}

.flex-direction-nav a.flex-prev::before {
    content: "‹";
}

.flex-direction-nav a.flex-next::before {
    content: "›";
}
/* ============================================
   MPHB – Custom Search Results Card Layout
   Matches screenshot you provided
   ============================================ */

/* ---- CARD WRAPPER ---- */
.mphb-room-type {
    background: #ffffff;
    border-radius: 14px;
    padding: 22px;
    margin-bottom: 35px;
    border: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* ---- LAYOUT: IMAGE LEFT / CONTENT RIGHT ---- */
.mphb-loop-room-type {
    display: flex;
    align-items: flex-start;
    gap: 28px;
}

/* ---- IMAGE ---- */
.mphb-loop-room-type .mphb-room-type-thumbnail img {
    width: 360px !important;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
    display: block;
}

/* ---- TITLE ---- */
.mphb-room-type-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
}

/* ---- DESCRIPTION ---- */
.mphb-room-type-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    max-width: 90%;
    margin-bottom: 15px;
}

/* ---- “Mehr lesen” ---- */
.mphb-view-details-link {
    color: #b40000 !important;
    font-weight: 600 !important;
    text-decoration: none;
}

.mphb-view-details-link:hover {
    text-decoration: underline;
}

/* ---- ATTRIBUTES / AMENITIES ---- */
.mphb-room-type-attributes {
    margin: 14px 0 22px 0 !important;
    list-style: none !important;
    padding-left: 0 !important;
}

.mphb-room-type-attribute {
    display: inline-flex;
    align-items: center;
    margin-right: 14px;
    font-size: 15px;
    color: #333;
    list-style: none !important;
}

.mphb-room-type-attribute::before {
    content: none !important;
}

.mphb-room-type-attribute i,
.mphb-room-type-attribute i:before {
    font-size: 21px !important;
    color: #a40000 !important;
    margin-right: 6px;
}

/* ---- CAPACITY ---- */
.mphb-capacity {
    text-align: center;
    margin-bottom: 15px;
}

.mphb-capacity i {
    font-size: 22px !important;
    color: #a40000 !important;
    margin: 0 3px;
}

/* ---- SELECT / BOOK BUTTON ---- */
.mphb-book-button {
    max-width: 250px;
    width: 100%;
    height: 45px;
}

.mphb-book-button:hover {
    background: #8b0000 !important;
}

/* ---- REMOVE DEFAULT LIST BORDERS ---- */
.mphb-room-type:not(:last-child) {
    border-bottom: none !important;
}
.slv-widget-search-results li {
    list-style: none;
}
.slv-widget-search-results ul {
    margin: 0;
    padding: 0;
}
.mphb_sc_checkout-form br {
    display: none;
}
.mphb_sc_checkout-form input {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
}
.mphb_sc_checkout-form textarea {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
}
.mphb_sc_checkout-form select {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
}
.mphb_sc_checkout-service {
    margin-right: 5px;
}
#mphb_accept_terms {
    margin-right: 10px;
}
/* ---- RESPONSIVE (MOBILE) ---- */
@media (max-width: 900px) {
    .mphb-loop-room-type {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .mphb-loop-room-type .mphb-room-type-thumbnail img {
        width: 100% !important;
        max-width: 400px;
    }

    .mphb-room-type-excerpt {
        max-width: 100%;
    }

    .mphb-book-button {
        font-size: 18px !important;
    }
}
/* ============================
   MPHB Checkout — Clean CSS
   No :root variables
   Primary color: #A3130E
   ============================ */

/* wrapper */
.slv-widget.slv-widget-checkout,
.slv-widget .mphb_sc_checkout-wrapper {
    max-width: 920px;
    margin: 24px auto;
    padding: 18px;
    box-sizing: border-box;
    color: #222;
}

.slv-widget-checkout abbr[title] {
    text-decoration: none;
}

/* login notice */
.mphb-login-form-wrap p {
    margin: 0 0 14px 0;
    background: linear-gradient(
        90deg,
        rgba(163, 19, 14, 0.04),
        rgba(163, 19, 14, 0.02)
    );
    border-left: 4px solid #a3130e;
    padding: 10px 14px;
    border-radius: 8px;
    color: #7a7a7a;
    font-size: 14px;
}

/* form card */
.mphb_sc_checkout-form {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    padding: 32px;
    border: 1px solid #e5e5e5;
    margin-bottom: 24px;
}

/* section titles */
.mphb-booking-details-title,
.mphb-customer-details-title,
.mphb-price-breakdown-title {
    font-size: 20px;
    margin: 0 0 20px 0;
    color: #1a1a1a !important;
    font-weight: 700;
    padding-bottom: 12px;
    border-bottom: 2px solid #a3130e;
}

/* dates */
.mphb-check-in-date,
.mphb-check-out-date {
    margin: 8px 0;
    color: #666;
    font-size: 15px;
    padding: 8px 0;
}
.mphb-check-in-date strong,
.mphb-check-out-date strong {
    color: #1a1a1a !important;
    font-weight: 600;
    margin-right: 8px;
}

/* room details */
.mphb-reserve-rooms-details {
    margin-top: 16px;
    padding: 16px;
    background: #f9f9f9;
    border-radius: 8px;
}
.mphb-room-number {
    margin: 8px 0;
    font-weight: 700;
    color: #a3130e !important;
}
.mphb-room-type-title a {
    color: #1a1a1a !important;
    font-weight: 700;
    text-decoration: none;
}

/* form inputs */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea,
.mphb_sc_checkout-guests-chooser {
    width: 100%;
    max-width: 100%;
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #fff;
    box-sizing: border-box;
    font-size: 15px;
    color: #222 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 20px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus,
.mphb_sc_checkout-guests-chooser:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

/* labels */
.elementor-widget-container .slv-widget-checkout label,
.slv-widget-checkout label,
.mphb_sc_checkout-wrapper label,
.mphb-guest-name-wrapper label,
.mphb-customer-name label,
.mphb-customer-last-name label,
.mphb-customer-email label,
.mphb-customer-phone label,
.mphb-customer-country label {
    display: block;
    font-size: 15px;
    margin-bottom: 8px;
    color: #1a1a1a !important;
    font-weight: 600;
}

/* textarea */
textarea#mphb_note,
.mphb-customer-note textarea {
    min-height: 120px;
    resize: vertical;
    max-width: 100%;
    width: 100%;
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #fff;
    box-sizing: border-box;
    font-size: 15px;
    color: #222 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 20px;
    font-family: inherit;
    line-height: 1.5;
}

textarea#mphb_note:focus,
.mphb-customer-note textarea:focus {
    outline: none;
    border-color: #a3130e;
    box-shadow: 0 0 0 3px rgba(139, 38, 53, 0.1);
}

/* price breakdown */
.mphb-price-breakdown-wrapper {
    margin-top: 8px;
    padding: 12px 14px;
    background: #f8f8f8;
    border-radius: 8px;
}

.mphb-price-breakdown {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.mphb-price-breakdown td,
.mphb-price-breakdown th {
    padding: 10px 8px;
    color: #222;
}

.mphb-price-breakdown .mphb-table-price-column {
    text-align: right;
    font-weight: 700;
    color: #222;
}

.mphb-price-breakdown .mphb-inner-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.04);
    color: #a3130e;
    margin-right: 8px;
}

/* total */
.mphb-price-breakdown-total th,
.mphb-price-breakdown-total .mphb-table-price-column {
    font-size: 18px;
    font-weight: 800;
    padding-top: 12px;
    border-top: 1px solid #eee;
}

.mphb-total-price {
    margin-top: 16px;
    font-size: 15px;
    text-align: right;
}
.mphb-total-price-field {
    font-size: 18px;
    font-weight: 800;
    color: #a3130e;
}

/* loader */
/* .mphb-preloader {
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(0,0,0,0.08);
  border-top-color:#A3130E;
  animation: mphb-spin 0.9s linear infinite;
}
@keyframes mphb-spin { to { transform: rotate(360deg); } } */

/* errors */
.mphb-errors-wrapper {
    margin-top: 12px;
    color: #fff;
    background: linear-gradient(
        90deg,
        rgba(163, 19, 14, 0.95),
        rgba(163, 19, 14, 0.9)
    );
    padding: 10px 12px;
    border-radius: 8px;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(163, 19, 14, 0.08);
}

/* terms */
.mphb-checkout-terms-wrapper {
    margin-top: 18px;
    border-top: 1px dashed #eee;
    padding-top: 14px;
}

.mphb-terms-and-conditions-accept label {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 14px;
    color: #222;
}

.mphb-terms-and-conditions-link {
    color: #a3130e;
    text-decoration: underline;
}

/* submit */
.mphb_sc_checkout-submit-wrapper {
    margin-top: 18px;
    text-align: right;
}

.mphb_sc_checkout-submit-wrapper .button,
.mphb_sc_checkout-submit-wrapper input[type="submit"] {
    background: #a3130e;
    color: #fff;
    border: none;
    padding: 12px 22px;
    font-weight: 700;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(163, 19, 14, 0.12);
    transition: transform 0.08s ease, box-shadow 0.12s ease,
        background 0.12s ease;
    font-size: 16px;
}

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

/* icons for selects */
select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #7a7a7a 50%),
        linear-gradient(135deg, #7a7a7a 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(1em + 2px),
        calc(100% - 13px) calc(1em + 2px);
    background-size: 8px 8px, 8px 8px;
    background-repeat: no-repeat;
    padding-right: 34px;
}
.mphb_sc_search_results-wrapper a {
    text-decoration: none !important;
    color: #1a1a1a;
    font-weight: 500;
    font-size: 18px;
    transition: color 0.3s ease;
}
.mphb_sc_search_results-wrapper a:hover {
    color: #a3130e;
}
.slv-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    color: #666;
}

.slv-icon-adult {
    width: 16px;
    height: 16px;
}

.slv-icon-child {
    width: 14px;
    height: 14px;
}

/* Optional: Change icon color on hover */
.mphb-room-type:hover .slv-icon {
    color: #333;
}
h3.mphb-room-type-details-title {
    margin-bottom: 5px;
}
.mphb-loop-room-type-attributes li .mphb-attribute-title {
    font-size: 18px;
}
.mphb-regular-price strong {
    font-size: 18px;
}
.mphb-price strong {
    font-size: 18px;
}

.flex-direction-nav a.flex-prev::before {
    content: "\f002";
    transform: rotate(180deg);
}

.mphb_sc_search-wrapper br {
    display: none;
}

.mphb-price-breakdown-accommodation {
    color: #a3130e !important;
}
/* responsive */
@media (max-width: 940px) {
    .mphb_sc_checkout-form {
        padding: 16px;
    }
    .mphb_sc_checkout-submit-wrapper {
        text-align: center;
    }
    .mphb_sc_checkout-submit-wrapper .button {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .slv-widget .mphb_sc_checkout-wrapper {
        padding: 10px;
    }
    .mphb_sc_checkout-form {
        padding: 12px;
        border-radius: 8px;
    }
    .mphb-price-breakdown {
        font-size: 14px;
    }
    .mphb-total-price {
        text-align: left;
    }
    a.mphb-recommendation-item-link {
        font-size: 12px;
    }
}
