/*
Theme Name: WpRentals Child theme
Theme URI: http://themeforest.net/user/wpestate
Description: Ultimate WordPress Theme created by WpEstate for accommodation booking. WpRentals is clean, flexible, fully responsive and retina Ready. Its smart settings allow you to build outstanding renting websites easily and fast.
Version: 3.14
Author: wpestate.org
Author URI: http://themeforest.net/user/annapx
Tags: white, one-column, two-columns,left-sidebar, right-sidebar, fluid-layout , custom-menu, theme-options, translation-ready
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: wprentals

-------------------------------------------------------------- */

/* Conversation Translation Styles - Using WpRentals Theme Button Styles */
.conversation-translate-controls {
    padding: 8px 0;
    margin-top: 10px;
}

.wprentals-translate-conversation-btn,
.wprentals-show-original-conversation-btn {
    /* Base button styles matching WpRentals theme */
    border-radius: 5px;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    cursor: pointer;
    padding: 13px 30px;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
    text-decoration: none;
    border: none;
    color: #fff;
    transition: background-color 0.3s ease;
}

.wprentals-translate-conversation-btn {
    background-color: #806AE6;
}

.wprentals-translate-conversation-btn:hover {
    background-color: #725ECC;
}

.wprentals-show-original-conversation-btn {
    background-color: #6c757d;
}

.wprentals-show-original-conversation-btn:hover {
    background-color: #5a6268;
}

.wprentals-translate-conversation-btn:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

.conversation-translate-controls .fas {
    margin-right: 5px;
}

/* Save button for language preferences */
.wprentals-save-btn {
    /* Base button styles matching WpRentals theme */
    border-radius: 5px;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    cursor: pointer;
    padding: 13px 30px;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
    text-decoration: none;
    border: none;
    color: #fff;
    background-color: #806AE6;
    transition: background-color 0.3s ease;
}

.wprentals-save-btn:hover {
    background-color: #725ECC;
}

.wprentals-save-btn:disabled,
.wprentals-save-btn.disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

.wprentals-translate-conversation-btn.disabled,
.wprentals-show-original-conversation-btn.disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

/* Responsive design */
@media (max-width: 768px) {
    .conversation-translate-controls {
        text-align: left;
    }
    
    .wprentals-translate-conversation-btn,
    .wprentals-show-original-conversation-btn,
    .wprentals-save-btn {
        padding: 10px 20px;
        font-size: 14px;
        margin-bottom: 8px;
    }
}

/* ===============================
   VERIFIED OWNER BADGE STYLES - FEATURED STYLE
   =============================== */

/* ONLY show the main verification badge as corner banner like featured on property cards */
.property_listing > .verified_userid {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: -100px !important; /* Better centered position with more padding */
    color: #fff !important;
    background-color: rgba(46, 204, 113, 0.9) !important; /* Green background */
    top: 30px !important; /* Even closer to featured badge on desktop */
    z-index: 98 !important; /* Slightly lower than featured */
    padding: 10px 100px !important; /* Much more padding for perfect centering */
    font-size: 12px !important; /* Bigger font */
    font-weight: 400 !important;
    text-align: center !important; /* Force text centering */
    -ms-transform: rotate(-45deg) !important;
    -webkit-transform: rotate(-45deg) !important;
    transform: rotate(-45deg) !important;
    -webkit-backface-visibility: hidden !important;
    -moz-backface-visibility: hidden !important;
    -ms-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
}

.property_listing > .verified_userid i {
    margin-right: 4px !important;
    font-size: 12px !important;
}

/* Ensure proper positioning context */
.listing_wrapper .property_listing {
    position: relative;
}

/* RTL support */
.rtl .property_listing > .verified_userid {
    top: 30px !important; /* Even closer to featured badge on desktop */
    right: -80px !important;
    left: auto !important;
    transform: rotate(45deg) !important;
    -webkit-transform: rotate(45deg) !important;
    -ms-transform: rotate(45deg) !important;
}

/* Mobile breakpoints */
@media screen and (max-width: 768px) {
    .property_listing > .verified_userid {
        left: -80px !important;
        top: 40px !important; /* Closer to featured badge on mobile */
        padding: 8px 80px !important; /* Adjusted padding for mobile */
    }
    
    .rtl .property_listing > .verified_userid {
        right: -60px !important;
        left: auto !important;
        top: 40px !important; /* Closer to featured badge on mobile */
        padding: 8px 80px !important; /* Adjusted padding for mobile */
    }
}

@media screen and (max-width: 540px) {
    .property_listing > .verified_userid {
        left: -70px !important;
        top: 40px !important; /* Closer to featured badge on mobile */
        padding: 6px 70px !important; /* More compact for very small screens */
    }
    
    .rtl .property_listing > .verified_userid {
        right: -50px !important;
        left: auto !important;
        top: 40px !important; /* Closer to featured badge on mobile */
        padding: 6px 70px !important; /* More compact for very small screens */
    }
}



/*  */

.single-product .header_media.with_search_oldtype{
	display: none !important;
}

.single-product #primary.widget-area-sidebar {
    display: none !important;
}

.single-product .col-md-8 {
    width: 100% !important;
}

.woocommerce-page .header_media.with_search_oldtype{
	display: none !important;
}

/* Cart color fix header */

.master_header.master_transparent_header .wpestate_header_shoping_cart_icon svg *,
.header_wrapper.transparent_header .wpestate_header_shoping_cart_icon svg *,
.header_transparent .wpestate_header_shoping_cart_icon svg * {
  fill: #000 !important;
}

.wprentals_sidebar_cart {
    display: none;
}

.info-container_booking .proceed-payment_full {
    display: none;
}

.info-container_booking .confirmed_booking {
    display: none;
}

/* Všechna textová políčka a selecty v dashboard formuláři */
.user_dashboard_panel .form-control,
.user_dashboard_panel select {
  background-color: #fff; /* světle šedý podklad */
  color: #302f2f;              /* černý text */
  border: 1.5px solid #525151;   /* tmavý rámeček */
}

/* Labely vlevo i u políček */
.user_dashboard_panel label {
  color: #000; /* modrá */
}

/* ===============================
   INBOX MESSAGE STYLES - UNREAD & TOGGLE
   =============================== */

/* Tučné zobrazení nepřečtených zpráv */
.message_listing.unread-message .message_header {
    font-weight: 700 !important;
}

.message_listing.unread-message .mess_from,
.message_listing.unread-message .mess_subject,
.message_listing.unread-message .mess_date {
    font-weight: 700 !important;
}

/* Normální zobrazení přečtených zpráv */
.message_listing:not(.unread-message) .message_header {
    font-weight: 400 !important;
}

/* Kurzor pro klikatelnou hlavičku */
.message_header_clickable {
    cursor: pointer !important;
    transition: background-color 0.2s ease;
}

.message_header_clickable:hover {
    background-color: rgba(0, 0, 0, 0.02) !important;
}

/* Animace pro otevírání/zavírání zpráv */
.mess_content,
.mess_reply_form {
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    overflow: hidden;
}

/*CSS from aditional CSS in WP*/

/* Show Contact form instead of Booking Form */
#wp_estate_replace_booking_form_local,
label[for="wp_estate_replace_booking_form_local"] {
  display: none !important;
}

/* Allow instant booking */
#instant_booking,
label[for="instant_booking"] {
  display: none !important;
}

/* Private Notes */
#private_notes,
label[for="private_notes"] {
  display: none !important;
}

#new_post .submit_mandatory,
.submit_mandatory.col-md-12 {
  background: none !important;
  color: #000 !important;
  border: none !important;
  padding: 0 !important;
}



.price_notification {
  display: none !important;
}

.submit_mandatory {
  display: none !important;
}


#update_profile, #delete_profile {
    max-width: 290px;
}

.owner-page-wrapper-reviews, .property_ratings_agent {display: none;}

#primary.wpestate_sidebar_sticky, booking_form_request  {
    position: static;
    top: 160px;
}

.dashboad-tooltip.duplicate_listing {display:none;}

.wc-block-checkout__add-note{display:none;}

.tag-post-review.post_review{display:none;}

.user_dashboard_listed.book_listing_user_unit_invoice {display:none;}

#wpestate_agree_gdpr,
input[for="wpestate_agree_gdpr"] {
	height: 20px;
	width: 20px;
	border-color: #28838a;
	border-width: 1.5px;
}

input[type="checkbox"]:checked:before {
	width: 18px;
	top: 1px;
}

#wpestate_agree_gdpr,
label[for="wpestate_agree_gdpr"] {
	margin-top: 1px;
	font-size: 15px;
}

/* ===============================
   SUBSCRIPTION WARNING BANNER
   =============================== */

.wprentals-subscription-warning {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
    border: 2px solid #d4af37;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wprentals-subscription-warning-icon {
    flex-shrink: 0;
    color: #856404;
    width: 24px;
    height: 24px;
}

.wprentals-subscription-warning-icon svg {
    width: 24px;
    height: 24px;
    stroke: #856404;
}

.wprentals-subscription-warning-content {
    flex: 1;
    color: #856404;
}

.wprentals-subscription-warning-content strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #856404;
}

.wprentals-subscription-warning-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #856404;
}

.wprentals-subscription-warning-content a {
    color: #0066cc;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.3s ease;
}

.wprentals-subscription-warning-content a:hover {
    color: #004499;
    text-decoration: none;
}

/* Responsive design for warning banner */
@media (max-width: 768px) {
    .wprentals-subscription-warning {
        flex-direction: column;
        padding: 15px;
        gap: 10px;
    }

    .wprentals-subscription-warning-content strong {
        font-size: 16px;
    }

    .wprentals-subscription-warning-content p {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .wprentals-subscription-warning {
        padding: 12px;
    }

    .wprentals-subscription-warning-icon {
        width: 20px;
        height: 20px;
    }

    .wprentals-subscription-warning-icon svg {
        width: 20px;
        height: 20px;
    }

    .wprentals-subscription-warning-content strong {
        font-size: 15px;
    }

    .wprentals-subscription-warning-content p {
        font-size: 13px;
    }
}

/* ===============================
   CALENDAR - GREEN AVAILABLE DAYS
   =============================== */

/* Volné BUDOUCÍ termíny v kalendáři - zelené podbarvení */
.all-front-calendars .calendar-free.has_future,
.all-front-calendars td.calendar-free.has_future {
    background-color: #28a745!important; /* Příjemná světle zelená */
    background: #28a745!important;
    color: #fff;
}

/* Konec rezervace (check-out den) - oranžová vlevo nahoře, zelená vpravo dole */
.all-front-calendars .calendar-free.has_future.end_reservation,
.all-front-calendars td.calendar-free.has_future.end_reservation {
    background: linear-gradient(135deg, #fc4140 0%, #fc4140 50%, #28a745 50%, #28a745 100%) !important;
}

/* Začátek rezervace (check-in den) - zelená vlevo nahoře, oranžová vpravo dole */
.all-front-calendars .calendar-reserved.has_future.start_reservation,
.all-front-calendars td.calendar-reserved.has_future.start_reservation {
    background: linear-gradient(135deg, #28a745 0%, #28a745 50%, #fc4140 50%, #fc4140 100%) !important;
}

/* Hover efekt pro volné budoucí dny - tmavší zelená */
.all-front-calendars .calendar-free.has_future:hover {
    background-color: #28a745 !important;
    background: #28a745 !important;
    color: #fff !important;
}

.all-front-calendars .calendar-free.has_future .wprentals_front_calendar_price {
    color: #fff !important;
}

.all-front-calendars .calendar-reserved.start_reservation, .wprentals_front_calendar_price {
    color: #fff !important;
}

/* ===============================
   CALENDAR LEGEND - AVAILABLE (GREEN)
   =============================== */

.calendar-legend-available {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: #28a745;
}

.calendar-legend-checkin {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: linear-gradient(135deg, #28a745 0%, #28a745 50%, #fc4140 50%, #fc4140 100%);
}

.calendar-legend-checkout {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: linear-gradient(135deg, #fc4140 0%, #fc4140 50%, #28a745 50%, #28a745 100%);
}

/* ===============================
   CALENDAR ACTIONS LEGEND STYLING
   =============================== */

.calendar-actions .calendar-legend-available {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 0;
    background: #28a745;
}

.calendar-actions .calendar-legend-reserved {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: #fc4140;
}

.calendar-actions .calendar-legend-checkin {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: linear-gradient(135deg, #28a745 0%, #28a745 50%, #fc4140 50%, #fc4140 100%);
}

.calendar-actions .calendar-legend-checkout {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: linear-gradient(135deg, #fc4140 0%, #fc4140 50%, #28a745 50%, #28a745 100%);
}

.calendar-actions .calendar-legend-today {
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    margin: 2px 8px 8px 15px;
    background: #484848;
}

/* ===============================
   SUBMISSION PAGE CALENDAR - GREEN AVAILABLE DAYS
   =============================== */

/* Override parent theme's white background on .has_future cells */
/* Parent theme uses: .booking-calendar-wrapper-in .has_future { background-color: #fff; } */

/* Volné BUDOUCÍ termíny v kalendáři na submission stránce - zelené podbarvení */
.booking-calendar-set .booking-calendar-wrapper-in .calendar-free.has_future,
.booking-calendar-set .booking-calendar-wrapper-in td.calendar-free.has_future,
.booking-calendar-wrapper-in-wrapper.booking-calendar-set .calendar-free.has_future,
.booking-calendar-set td.calendar-free.has_future,
td.calendar-free.has_future {
    background-color: #28a745 !important;
    background: #28a745 !important;
    color: #fff !important;
}

/* Konec rezervace (check-out den) na submission stránce */
.booking-calendar-set .booking-calendar-wrapper-in .calendar-free.has_future.end_reservation,
.booking-calendar-set td.calendar-free.has_future.end_reservation,
td.calendar-free.has_future.end_reservation {
    background: linear-gradient(135deg, #fc4140 0%, #fc4140 50%, #28a745 50%, #28a745 100%) !important;
}

/* Začátek rezervace (check-in den) na submission stránce */
.booking-calendar-set .booking-calendar-wrapper-in .calendar-reserved.has_future.start_reservation,
.booking-calendar-set td.calendar-reserved.has_future.start_reservation,
td.calendar-reserved.has_future.start_reservation {
    background: linear-gradient(135deg, #28a745 0%, #28a745 50%, #fc4140 50%, #fc4140 100%) !important;
}

/* Hover efekt pro volné budoucí dny na submission stránce */
.booking-calendar-set .booking-calendar-wrapper-in .calendar-free.has_future:hover,
.booking-calendar-set td.calendar-free.has_future:hover,
td.calendar-free.has_future:hover {
    background-color: #218838 !important;
    background: #218838 !important;
    color: #fff !important;
}

/* Today styling na submission stránce */
.booking-calendar-set .booking-calendar-wrapper-in .calendar-today.has_future,
.booking-calendar-set td.calendar-today.has_future,
td.calendar-today.has_future {
    background-color: #484848 !important;
    background: #484848 !important;
    color: #fff !important;
}

/* Booked/Reserved days - červená */
.booking-calendar-set .booking-calendar-wrapper-in .calendar-reserved.has_future,
.booking-calendar-set td.calendar-reserved.has_future,
td.calendar-reserved.has_future {
    background-color: #fc4140 !important;
    background: #fc4140 !important;
    color: #fff !important;
}

/* Červené srdíčko pro oblíbené nemovitosti */
.icon-fav.icon-fav-on i,
.icon-fav.icon-fav-on .fa-heart {
    color: #ff0000 !important;
}

/* ===============================
   ALL IN ONE CALENDAR - REDESIGN
   =============================== */

/* --- Main wrapper: block layout instead of float --- */
.booking-calendar-wrapper-allinone {
    background-color: #f0f2f5;
    float: none !important;
    width: 100%;
    display: block;
    border-radius: 8px;
    overflow: hidden;
}

/* JS sets inline-block when toggling months - override to block */
.booking-calendar-wrapper-allinone[style*="inline-block"] {
    display: block !important;
}

/* Month title bar */
.booking-calendar-wrapper-allinone .month-title {
    background-color: #383f5b;
    color: #fff;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.5px;
    border-radius: 8px 8px 0 0;
}

/* --- Scroll container: horizontal scrolling --- */
.allinone-scroll-container {
    overflow-x: auto;
    overflow-y: visible;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #b0b5be #e8eaed;
}

.allinone-scroll-container::-webkit-scrollbar {
    height: 8px;
}
.allinone-scroll-container::-webkit-scrollbar-track {
    background: #e8eaed;
    border-radius: 4px;
}
.allinone-scroll-container::-webkit-scrollbar-thumb {
    background-color: #b0b5be;
    border-radius: 4px;
}
.allinone-scroll-container::-webkit-scrollbar-thumb:hover {
    background-color: #8a8f9a;
}

/* --- Inner grid: shrink-wraps to content --- */
.allinone-grid {
    display: inline-block;
    min-width: 100%;
    padding-right: 20px;
}

/* --- Row layout: flex, never wrap --- */
.allinone-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: max-content;
}

.allinone-header-row {
    border-bottom: 2px solid #d0d5de;
}

/* --- Property name column: sticky left --- */
.booking-calendar-wrapper-allinone .property_tab_header,
.booking-calendar-wrapper-allinone .property_tab_list_header {
    position: sticky;
    left: 0;
    z-index: 10;
    flex: 0 0 150px;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
    float: none !important;
    clear: none !important;
    box-sizing: border-box;
}

.booking-calendar-wrapper-allinone .property_tab_header {
    background-color: #f0f2f5;
    height: auto;
    display: flex;
    align-items: flex-end;
}

.booking-calendar-wrapper-allinone .property_tab_list_header {
    background-color: #4D5567;
    color: #fff;
    height: 37px;
    line-height: 37px;
    padding: 0 10px;
    border-bottom: 1px solid rgba(255,255,255,0.15);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 500;
}

.booking-calendar-wrapper-allinone .property_tab_list_header a {
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}

.booking-calendar-wrapper-allinone .property_tab_list_header a:hover {
    color: #D2DCED;
    text-decoration: underline;
}

/* --- Calendar header wrapper: flex row --- */
.booking-calendar-wrapper-allinone .calendar_tab_header {
    display: flex !important;
    flex-wrap: nowrap;
    float: none !important;
    margin-bottom: 0;
}

/* --- Date cells: fixed width, no float --- */
.booking-calendar-wrapper-allinone .calendar_pad_title,
.booking-calendar-wrapper-allinone .calendar_pad {
    float: none !important;
    flex: 0 0 32px;
    width: 32px;
    min-width: 32px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
}

.booking-calendar-wrapper-allinone .calendar_pad_title {
    height: auto;
    min-height: 70px;
    padding-top: 4px;
    border: 1px solid #e0e4e9;
    background-color: #f8f9fa;
    font-size: 11px;
    font-weight: 600;
    color: #4D5567;
}

.booking-calendar-wrapper-allinone .calendar_pad {
    height: 37px;
    line-height: 37px;
    padding-top: 0;
    border: 1px solid #eee;
    font-size: 11px;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

/* --- Day name in header --- */
.booking-calendar-wrapper-allinone .dayname {
    width: 100%;
    height: 26px;
    line-height: 26px;
    padding-top: 0;
    margin-bottom: 4px;
    background-color: #e8eaed;
    font-size: 10px;
    font-weight: 600;
    color: #4D5567;
    border-radius: 2px;
}

/* --- Cells wrapper in each property row --- */
.allinone-cells {
    display: flex;
    flex-wrap: nowrap;
}

/* --- Calendar status colors (high specificity to beat dashboard-style.css) --- */
body .booking-calendar-wrapper-allinone .calendar-free.calendar_pad.has_future {
    background-color: #fff !important;
}

body .booking-calendar-wrapper-allinone .calendar_pad.allinone_internal_booking,
body .booking-calendar-wrapper-allinone .calendar-reserved.calendar_pad.allinone_internal_booking {
    background-color: #20848b !important;
}

body .booking-calendar-wrapper-allinone .calendar_pad.allinone_external_booking,
body .booking-calendar-wrapper-allinone .calendar-reserved.calendar_pad.allinone_external_booking {
    background-color: #806AE6 !important;
}

body .booking-calendar-wrapper-allinone .calendar-today.calendar_pad {
    background-color: #383f5b !important;
    color: #fff !important;
    font-weight: 700;
}

body .booking-calendar-wrapper-allinone .calendar-today.calendar_pad_title {
    background-color: #383f5b !important;
    color: #fff !important;
}

/* --- Hover completely disabled --- */
body .booking-calendar-wrapper-allinone .calendar-pad-hover,
body .booking-calendar-wrapper-allinone .calendar_pad_title.calendar-pad-hover,
body .booking-calendar-wrapper-allinone .calendar-free.calendar_pad.has_future.calendar-pad-hover,
body .booking-calendar-wrapper-allinone .calendar-reserved.calendar_pad.calendar-pad-hover {
    background-color: inherit !important;
}

/* --- Reservation tooltip completely disabled (overrides jQuery .show() inline style) --- */
body .booking-calendar-wrapper-allinone .allinone_reservation,
body .booking-calendar-wrapper-allinone .rentals_reservation.allinone_reservation,
body .booking-calendar-wrapper-allinone .calendar_pad .rentals_reservation {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* --- Arrow navigation --- */
.arrow-wrapper-allinone {
    width: 100%;
    float: left;
    position: relative;
    padding: 10px 0;
}

#calendar-prev-internal-allinone,
#calendar-next-internal-allinone {
    cursor: pointer;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
}

#calendar-prev-internal-allinone:hover,
#calendar-next-internal-allinone:hover {
    background-color: #806AE6;
    color: #fff;
    box-shadow: 0 4px 12px rgba(128, 106, 230, 0.3);
}

/* --- Legend --- */
.arrow-wrapper-allinone_legend {
    float: left;
    width: 100%;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #6c757d;
}

.allinone_legend {
    float: none;
    margin-right: 16px;
    margin-left: 4px;
    padding-top: 0;
    line-height: 35px;
}

.arrow-wrapper-allinone_legend .calendar_pad {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    flex: 0 0 20px !important;
    border-radius: 3px;
    float: left;
}

/* --- Parent panel override --- */
.user_dashboard_panel.wprentals_allinone_wrapper {
    display: block !important;
    max-width: 100%;
    min-width: 0 !important;
    overflow: visible;
    margin-left: 0;
    margin-right: 0;
}

/* --- Override ALL parent media queries for cell width ---
   Fixed 32px cells + horizontal scroll = no resizing needed --- */

@media only screen and (max-width: 1366px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (max-width: 1024px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (max-width: 768px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (max-width: 480px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }

    .booking-calendar-wrapper-allinone .property_tab_header,
    .booking-calendar-wrapper-allinone .property_tab_list_header {
        flex: 0 0 100px;
        width: 100px;
        min-width: 100px;
        max-width: 100px;
    }
}

@media only screen and (min-width: 1537px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (min-width: 1870px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (min-width: 2020px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (min-width: 2090px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (min-width: 2240px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (min-width: 2380px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }
}

@media only screen and (min-width: 2530px) {
    .booking-calendar-wrapper-allinone .calendar_pad_title,
    .booking-calendar-wrapper-allinone .calendar_pad,
    .booking-calendar-wrapper-allinone .dayname {
        width: 32px !important;
        min-width: 32px !important;
        flex: 0 0 32px !important;
    }

    .user_dashboard_panel.wprentals_allinone_wrapper {
        min-width: auto !important;
        max-width: 100% !important;
    }
}

/* ========================================
   Onboarding - "Add your first listing"
   ======================================== */

/* --- Desktop: floating arrow --- */
#onboarding_arrow {
    position: fixed !important;
    z-index: 9999 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
}

#onboarding_arrow .onboarding-arrow-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    white-space: nowrap !important;
    animation: onboarding-bounce 1.5s ease-in-out infinite !important;
}

#onboarding_arrow .onboarding-arrow-icon {
    font-size: 28px !important;
    color: #20848b !important;
    line-height: 1 !important;
}

#onboarding_arrow .onboarding-arrow-text {
    margin-top: 4px !important;
    background-color: #20848b !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 12px rgba(0, 115, 255, 0.4) !important;
}

@keyframes onboarding-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Mobile bar styles are inline in PHP output, controlled by JS */

/* Registration Success Card */
.reg-success-card {
    text-align: center;
    padding: 25px 20px;
    margin: 10px 0;
    background: linear-gradient(135deg, #f0faf0 0%, #e8f5e9 100%);
    border: 1px solid #c8e6c9;
    border-radius: 10px;
    animation: regCardFadeIn 0.4s ease-out;
}

.reg-success-icon {
    color: #43a047;
    margin-bottom: 12px;
    animation: regIconBounce 0.6s ease-out 0.2s both;
}

.reg-success-title {
    font-size: 18px;
    font-weight: 600;
    color: #2e7d32;
    margin-bottom: 8px;
}

.reg-success-text {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

@keyframes regCardFadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes regIconBounce {
    0%   { opacity: 0; transform: scale(0.5); }
    60%  { opacity: 1; transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* iCal feed sync status badges */
.ical-sync-status-row {
    margin: 4px 0 6px 0;
    font-size: 12px;
    line-height: 1.4;
}
.ical-sync-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: 600;
    font-size: 11px;
    vertical-align: middle;
    cursor: default;
}
.ical-sync-ok {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.ical-sync-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}
.ical-sync-pending {
    background-color: #e2e3e5;
    color: #495057;
    border: 1px solid #d6d8db;
}
.ical-sync-time {
    color: #888;
    font-size: 11px;
    margin-left: 5px;
    vertical-align: middle;
}

/* Property header top section - reduce gap between title and properties */
.property_header_top_section .wprentals_title_with_rating {
    margin-top: 20px;
    margin-bottom: 0;
}
.property_header_top_section .category_wrapper {
    padding-top: 8px;
    padding-bottom: 12px;
}
