/* =========================================================
   MobiRent v2 — WP Booking System + Gravity Forms in the theme style.
   Loaded after the plugins' own CSS.
   ========================================================= */

/* ---------- WP Booking System: layout on the car page ---------- */
.booking .wpbs-main-wrapper{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;max-width:none!important}
@media (min-width:1000px){
	.booking .wpbs-main-wrapper{grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr)}
	.booking .wpbs-main-wrapper>form.wpbs-form-container,
	.booking .wpbs-main-wrapper>.wpbs-form-confirmation-message,
	.booking .wpbs-main-wrapper>.wpbs-payment-confirmation{position:sticky;top:calc(var(--mr-header-h) + var(--mr-admin-bar) + 20px)}
}
.booking .wpbs-main-wrapper>.wpbs-container{grid-column:1}
.booking .wpbs-container{margin:0!important;padding:clamp(16px,2.4vw,24px)!important;background:var(--mr-surface)!important;border:1px solid var(--mr-line)!important;border-radius:var(--mr-radius-lg)!important;max-width:none!important;font-family:var(--mr-font)!important}

/* months */
.booking .wpbs-container .wpbs-calendars{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin:0!important}
.booking .wpbs-container .wpbs-calendars::after{display:none!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important;background:transparent!important;border:0!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar-wrapper{padding:0!important;background:transparent!important}
.booking .wpbs-container .wpbs-calendar-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 8px!important;padding:0!important;background:transparent!important;border:0!important;font-weight:800!important;font-size:16px!important;color:var(--mr-ink)!important}
.booking .wpbs-container .wpbs-calendar-header-navigation{width:100%;text-align:center;font-weight:800;font-size:16px;color:var(--mr-ink)}
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-prev,
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-next{width:40px!important;height:40px!important;top:2px!important;border-radius:12px!important;border:1px solid var(--mr-line-2)!important;background:var(--mr-surface)!important;box-shadow:none!important;transition:border-color .2s,background-color .2s}
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-prev:hover,
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-next:hover{border-color:var(--mr-ink)!important;background:var(--mr-soft)!important}
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-arrow{display:none!important}
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-prev,
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-next{background-repeat:no-repeat!important;background-position:center!important;background-size:18px!important}
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-prev{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E1E1C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E")!important}
.booking .wpbs-container .wpbs-calendar-header-navigation .wpbs-next{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E1E1C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E")!important}

/* day grid */
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table{border-collapse:separate!important;border-spacing:4px!important;margin:0 -4px!important;width:calc(100% + 8px)!important;background:transparent!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table thead tr th{padding:4px 0!important;font-size:12px!important;font-weight:700!important;color:var(--mr-muted)!important;background:transparent!important;border:0!important;text-transform:none!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table tr td{padding:0!important;border:0!important;background:transparent!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table tr td .wpbs-date{height:42px!important;border-radius:9px!important;overflow:hidden;background:transparent}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table tr td .wpbs-date-inner{display:flex!important;align-items:center;justify-content:center;height:42px!important;line-height:1!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table tr td .wpbs-date-inner .wpbs-date-number{font-size:14px!important;font-weight:700!important;color:var(--mr-ink)!important;line-height:42px!important}
.booking .wpbs-container .wpbs-calendars .wpbs-calendar table tr td .wpbs-date.wpbs-gap{background:transparent!important}
.booking .wpbs-container .wpbs-date:not(.wpbs-is-bookable):not(.wpbs-gap) .wpbs-date-number{color:#8A3B2E!important}
.booking .wpbs-container .wpbs-date-selected .wpbs-date-number,
.booking .wpbs-container .wpbs-date-hover .wpbs-date-number{color:var(--mr-on-accent)!important}
.booking .wpbs-container .wpbs-legend-item-icon{border-radius:9px!important}
.booking .wpbs-main-wrapper .wpbs-date-today:not(.wpbs-date-hover):not(.wpbs-date-selected) .wpbs-legend-item-icon{border-width:2px!important}

/* legend */
.booking .wpbs-container .wpbs-legend{display:flex!important;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0!important;padding:14px 0 0!important;border:0!important;border-top:1px solid #EFEDE8!important;background:transparent!important}
.booking .wpbs-legend .wpbs-legend-item{display:flex!important;align-items:center;gap:8px;margin:0!important;float:none!important;width:auto!important}
.booking .wpbs-legend .wpbs-legend-item-icon{width:16px!important;height:16px!important;border-radius:5px!important;border:1px solid rgba(30,30,28,.12)!important}
.booking .wpbs-legend .wpbs-legend-item-name{font-size:13px!important;color:var(--mr-text)!important;padding:0!important;line-height:1.3!important}

/* loading overlay */
.booking .wpbs-overlay{border-radius:var(--mr-radius-lg);background:rgba(255,255,255,.7)!important}
.booking .wpbs-overlay-spinner div{background-color:var(--mr-accent)!important}

/* ---------- WP Booking System: form ---------- */
.booking .wpbs-main-wrapper .wpbs-form-container{margin:0!important;padding:clamp(18px,2.4vw,24px)!important;background:var(--mr-surface)!important;border:1px solid var(--mr-line)!important;border-radius:var(--mr-radius-xl)!important;box-shadow:var(--mr-shadow);max-width:none!important;font-family:var(--mr-font)!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-fields{display:flex;flex-direction:column;gap:12px}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field{width:100%!important;margin:0!important;padding:0!important;float:none!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-label label,
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-label{display:block;margin:0 0 6px!important;font-size:13px!important;font-weight:600!important;color:var(--mr-text)!important;line-height:1.3!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-field-required-asterisk{color:var(--mr-accent-text)!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type="text"],
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type="email"],
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type="tel"],
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input input[type="number"],
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input select,
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input textarea{width:100%!important;min-height:48px!important;padding:0 12px!important;border:1px solid var(--mr-line-2)!important;border-radius:12px!important;background:var(--mr-bg)!important;font:inherit!important;font-size:15px!important;color:var(--mr-ink)!important;box-shadow:none!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input textarea{min-height:88px!important;padding:10px 12px!important;resize:vertical}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-input :is(input,select,textarea):focus{outline:2px solid var(--mr-accent)!important;outline-offset:1px;border-color:transparent!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-checkbox .wpbs-form-field-input{display:flex;flex-wrap:wrap;gap:8px}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field.wpbs-form-field-checkbox .wpbs-form-field-input label{display:inline-flex!important;align-items:center;gap:8px;min-height:40px;margin:0!important;padding:0 14px 0 12px!important;border:1px solid var(--mr-line)!important;border-radius:999px;font-size:14px!important;cursor:pointer}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field.wpbs-form-field-checkbox .wpbs-form-field-input label span{position:relative!important;top:auto!important;left:auto!important;flex:none;width:18px!important;height:18px!important;border-radius:5px!important;background:#fff!important;border:1.5px solid var(--mr-line-2)!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field.wpbs-form-field-checkbox .wpbs-form-field-input label input:checked~span{background:var(--mr-ink)!important;border-color:var(--mr-ink)!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-checkbox .wpbs-form-field-input label:has(input:checked){border-color:var(--mr-ink)!important;background:var(--mr-soft)}
.booking .wpbs-main-wrapper .wpbs-form-container input[type="checkbox"]{width:18px!important;height:18px!important;margin:0!important;accent-color:var(--mr-ink)}

/* selected dates (shown in the form) */
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-selected-dates{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:0!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-selected-date{min-width:0;box-sizing:border-box;margin:0!important;padding:10px 12px!important;border-radius:12px;background:var(--mr-soft);width:auto!important;float:none!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-selected-date .wpbs-form-field-label{margin-bottom:2px!important;font-size:12px!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-selected-date .wpbs-form-field-input{font-weight:800;font-size:15px;color:var(--mr-ink)}

/* submit */
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-submit-button{margin:6px 0 0!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-submit-button button{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:54px!important;padding:0 22px!important;border:0!important;border-radius:var(--mr-radius)!important;background:var(--mr-accent)!important;color:var(--mr-on-accent)!important;font:inherit!important;font-size:16px!important;font-weight:800!important;cursor:pointer;box-shadow:none!important;transition:transform .2s var(--mr-ease),box-shadow .2s,background-color .2s}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-submit-button button:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,30,28,.14)!important;background:var(--mr-accent-hover)!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-submit-button button[disabled]{opacity:.6;transform:none}

/* errors & confirmation */
.booking .wpbs-form-general-error,
.booking .wpbs-form-field-error{margin:6px 0 0!important;padding:0!important;background:transparent!important;color:#A33A2A!important;font-size:13px!important;font-weight:600}
.booking .wpbs-form-general-error{padding:10px 12px!important;border-radius:12px;background:#FBEAE7!important}
.booking .wpbs-form-field.wpbs-form-field-has-error :is(input,textarea,select){border-color:#D9826F!important}
.booking .wpbs-form-confirmation-message{padding:22px!important;border-radius:var(--mr-radius-xl);background:var(--mr-ok-soft)!important;border:1px solid #BFE3C9;color:var(--mr-ok)!important;font-weight:700;font-size:16px}
.booking .wpbs-form-confirmation-message p{margin:0 0 .5em}

/* ---------- Gravity Forms (contact form) ---------- */
.gform_wrapper{font-family:var(--mr-font)!important;margin:0!important}
.gform_wrapper .gform_heading{display:none}
.gform_wrapper .gform_fields{display:grid!important;grid-template-columns:repeat(12,1fr)!important;gap:14px 14px!important}
.gform_wrapper .gfield{grid-column:span 12!important;margin:0!important;padding:0!important}
@media (min-width:640px){.gform_wrapper .gfield--width-half{grid-column:span 6!important}}
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label{display:block;margin:0 0 6px!important;padding:0!important;font-size:13px!important;font-weight:600!important;color:var(--mr-text)!important}
.gform_wrapper .gfield_required{color:var(--mr-accent-text)!important;font-weight:600}
.gform_wrapper .gfield_required_text{font-size:0}
.gform_wrapper .gfield_required_text::after{content:"*";font-size:13px}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea{width:100%!important;min-height:48px!important;padding:0 12px!important;border:1px solid var(--mr-line-2)!important;border-radius:12px!important;background:var(--mr-bg)!important;font:inherit!important;font-size:15px!important;color:var(--mr-ink)!important;box-shadow:none!important}
.gform_wrapper textarea{min-height:120px!important;padding:10px 12px!important}
.gform_wrapper :is(input,select,textarea):focus{outline:2px solid var(--mr-accent)!important;outline-offset:1px;border-color:transparent!important}
.gform_wrapper .ginput_container_consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mr-text)}
.gform_wrapper .ginput_container_consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--mr-ink)}
.gform_wrapper .gform_footer,.gform_wrapper .gform_page_footer{margin:6px 0 0!important;padding:0!important}
.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button{display:inline-flex!important;align-items:center;justify-content:center;width:100%!important;min-height:54px!important;padding:0 26px!important;border:0!important;border-radius:var(--mr-radius)!important;background:var(--mr-accent)!important;color:var(--mr-on-accent)!important;font:inherit!important;font-size:16px!important;font-weight:800!important;cursor:pointer;line-height:1!important;transition:transform .2s var(--mr-ease),box-shadow .2s,background-color .2s}
.gform_wrapper .gform_footer .gform_button:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,30,28,.14);background:var(--mr-accent-hover)!important}
@media (min-width:640px){.gform_wrapper .gform_footer .gform_button{width:auto!important}}
.gform_wrapper .gform_validation_errors{margin:0 0 14px!important;padding:12px 14px!important;border-radius:12px!important;border:0!important;background:#FBEAE7!important;box-shadow:none!important}
.gform_wrapper .gform_validation_errors h2{font-size:14px!important;color:#A33A2A!important;margin:0!important}
.gform_wrapper .gfield_validation_message,.gform_wrapper .validation_message{margin:6px 0 0!important;padding:0!important;border:0!important;background:transparent!important;color:#A33A2A!important;font-size:13px!important}
.gform_wrapper .gfield_error :is(input,textarea,select){border-color:#D9826F!important}
.gform_confirmation_message{padding:20px;border-radius:var(--mr-radius-lg);background:var(--mr-ok-soft);color:var(--mr-ok);font-weight:700}
.gform_wrapper .gform_ajax_spinner{margin-left:10px}

.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-selected-date .wpbs-form-field{width:100%!important}
.booking .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field-label.is-empty{display:none!important}
.gform_wrapper .ginput_container_name.gf_name_has_1 label,.gform_wrapper .ginput_complex.gf_name_has_1 label{display:none}
.gform_wrapper .ginput_complex{display:grid;gap:10px}
.gform_wrapper .ginput_complex>span{width:100%!important;padding:0!important}
.gform_wrapper fieldset{border:0;margin:0;padding:0;min-width:0}
