/**
 * Rave Buy & Rental — front-end styles.
 * Inherits the active theme / Elementor typography and colors via CSS
 * variables, with sensible fallbacks. Override variables in your theme to
 * re-skin without editing this file.
 */

/* Brand palette — red/black by default; override these vars to re-skin.
   --rbr-fg / --rbr-muted-c control text contrast (set for dark themes). */
.rbr-panel,
.rbr-booking,
.rbr-fulfillment {
	--rbr-accent: var( --rbr-brand, #e0152b );
	--rbr-accent-2: var( --rbr-brand-2, #ff2e45 );
	--rbr-text: var( --rbr-fg, #f4f4f7 );
	--rbr-muted: var( --rbr-muted-c, #c6c6d0 );
	--rbr-border: rgba( 160, 160, 170, 0.38 );
	--rbr-radius: 10px;
}

.rbr-panel,
.rbr-booking {
	margin: 1.25em 0;
	font-family: inherit;
	color: var( --rbr-text );
}
.rbr-booking { margin-top: 0; }

/* Condition badge */
.rbr-condition {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px 14px;
	border-radius: var( --rbr-radius );
	margin-bottom: 12px;
	border: 1px solid var( --rbr-border );
	background: rgba( 127, 127, 127, 0.08 );
}

.rbr-condition__label {
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.85em;
}

.rbr-condition__desc {
	font-size: 0.8em;
	color: var( --rbr-muted );
}

.rbr-cond-nwt { border-left: 4px solid #1ea672; }
.rbr-cond-like_new { border-left: 4px solid #e0152b; }
.rbr-cond-good { border-left: 4px solid #f7a72f; }
.rbr-cond-fair { border-left: 4px solid #f76f2f; }

/* Retail "Compared to" */
.rbr-retail {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 8px;
	font-size: 0.95em;
}

.rbr-retail__label {
	color: var( --rbr-muted );
	text-transform: uppercase;
	font-size: 0.78em;
	letter-spacing: 0.05em;
}

.rbr-retail__value del {
	color: var( --rbr-muted );
}

/* Mode toggle */
.rbr-mode-toggle {
	display: inline-flex;
	border: 1px solid var( --rbr-border );
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 14px;
}

.rbr-mode {
	display: inline-flex;
	align-items: center;
	padding: 8px 22px;
	cursor: pointer;
	font-weight: 600;
	transition: background 0.15s ease, color 0.15s ease;
}

.rbr-mode input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rbr-mode:has( input:checked ) {
	background: linear-gradient( 135deg, var( --rbr-accent ), var( --rbr-accent-2 ) );
	color: #fff;
}

/* Prices */
.rbr-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 6px 0;
}

.rbr-price__amount {
	font-size: 1.4em;
	font-weight: 700;
	color: var( --rbr-text );
}
.rbr-price--rent .rbr-price__amount { color: var( --rbr-accent-2 ); }

.rbr-price__suffix {
	color: var( --rbr-muted );
	font-size: 0.85em;
}

/* Rental length options */
.rbr-days {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 10px 0;
}

.rbr-days__label {
	color: var( --rbr-muted );
	font-size: 0.85em;
	margin-right: 4px;
}

.rbr-day {
	cursor: pointer;
}

.rbr-day input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rbr-day span {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid var( --rbr-border );
	border-radius: 999px;
	font-size: 0.9em;
	transition: all 0.15s ease;
}

.rbr-day:has( input:checked ) span {
	border-color: var( --rbr-accent );
	background: var( --rbr-accent );
	color: #fff;
}

/* Availability hint */
.rbr-availability {
	margin: 10px 0;
	font-size: 0.9em;
	color: var( --rbr-muted );
}

/* Notes */
.rbr-ofk-note,
.rbr-nyc-note {
	font-size: 0.85em;
	color: var( --rbr-muted );
	margin: 6px 0 0;
}

/* Sizing */
.rbr-sizing {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var( --rbr-border );
}

.rbr-sizing__title {
	margin: 0 0 4px;
	font-size: 0.95em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.rbr-sizing__body {
	font-size: 0.92em;
	color: var( --rbr-muted );
}

.rbr-block--buy,
.rbr-block--rent {
	margin-bottom: 6px;
}

/* ---- Booking controls (inside add-to-cart form) ---- */
.rbr-booking {
	margin: 14px 0;
	font-family: inherit;
}
.rbr-booking .rbr-mode-toggle {
	display: inline-flex;
	border: 1px solid rgba( 0, 0, 0, 0.12 );
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 14px;
}
.rbr-booking .rbr-mode {
	display: inline-flex;
	align-items: center;
	padding: 8px 24px;
	cursor: pointer;
	font-weight: 600;
}
.rbr-booking .rbr-mode input { position: absolute; opacity: 0; pointer-events: none; }
.rbr-booking .rbr-mode:has( input:checked ) {
	background: linear-gradient( 135deg, var( --rbr-accent ), var( --rbr-accent-2 ) );
	color: #fff;
}
.rbr-booking .rbr-mode-toggle { border-color: var( --rbr-border ); }
.rbr-booking .rbr-mode { color: var( --rbr-muted ); }
.rbr-booking .rbr-mode:has( input:checked ) { color: #fff; }
.rbr-days { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0; }
.rbr-days__label { color: #6b6b76; font-size: 0.85em; margin-right: 4px; }
.rbr-day { cursor: pointer; }
.rbr-day input { position: absolute; opacity: 0; pointer-events: none; }
.rbr-day span {
	display: inline-block; padding: 6px 14px; border: 1px solid rgba( 0, 0, 0, 0.12 );
	border-radius: 999px; font-size: 0.9em; transition: all 0.15s ease;
}
.rbr-booking .rbr-days__label { color: var( --rbr-muted ); }
.rbr-booking .rbr-day span { border-color: var( --rbr-border ); color: inherit; }
.rbr-day:has( input:checked ) span { border-color: var( --rbr-accent ); background: var( --rbr-accent ); color: #fff; }

.rbr-date-field { margin: 12px 0 6px; }
.rbr-date-field__label { display: block; font-size: 0.88em; margin-bottom: 4px; color: var( --rbr-muted ); }
.rbr-date-input {
	width: 100%; max-width: 280px; padding: 10px 12px;
	border: 1px solid var( --rbr-border ); border-radius: 10px; background: #fff; color: #161616;
	cursor: pointer;
}
.rbr-return-info { font-size: 0.9em; margin: 6px 0; color: inherit; }
.rbr-return-info span { font-weight: 700; }

.rbr-availability { margin: 8px 0; font-size: 0.92em; }
.rbr-availability.is-ok { color: #ff2e45; font-weight: 600; }
.rbr-availability.is-error { color: #ff5a6a; font-weight: 600; }
.rbr-availability.is-info { color: var( --rbr-muted ); }

/* Per-variation status line */
.rbr-status {
	margin: 4px 0 12px;
	padding: 9px 12px;
	border-radius: 8px;
	font-size: 0.9em;
	border-left: 3px solid transparent;
	background: rgba( 127, 127, 127, 0.12 );
}
.rbr-status.is-ok { border-left-color: #ff2e45; color: #ffffff; }
.rbr-status.is-error { border-left-color: #ff5a6a; color: #ffd4d9; }
.rbr-status.is-info { color: var( --rbr-muted ); }

/* WooCommerce stock text */
p.stock.in-stock { color: #ef4054 !important; }
.rbr-status__booked {
	display: inline-block;
	margin-top: 4px;
	font-size: 0.86em;
	opacity: 0.85;
}

.rbr-suggestion {
	margin: 8px 0; padding: 10px 12px; border-radius: 10px;
	background: rgba( 224, 21, 43, 0.10 ); font-size: 0.9em;
}
.rbr-suggestion .rbr-use-suggestion { margin-left: 6px; }

.single_add_to_cart_button.rbr-disabled { opacity: 0.5; cursor: not-allowed; }

/* ---- Custom inline range calendar ---- */
.rbr-custom-range { margin: 12px 0; }
.rbr-custom-range > .rbr-date-field__label { display: block; margin-bottom: 6px; }
.rbr-inline-cal { display: inline-block; }
.rbr-inline-cal .ui-datepicker {
	width: 300px;
	max-width: 100%;
	box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.35 );
}
.rbr-range-summary {
	margin-top: 8px;
	font-size: 0.95em;
	color: var( --rbr-text );
}
.rbr-range-summary strong { color: var( --rbr-accent-2 ); }

/* Add-to-cart button (brand) */
button.single_add_to_cart_button.button.alt {
	background-color: #E70000;
	font-family: "Termina", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	fill: #FFFFFF;
	color: #FFFFFF;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #E70000;
	padding: 13px 50px 13px 50px;
	border-radius: 0px !important;
}
.single_add_to_cart_button.rbr-disabled {
	cursor: not-allowed;
}

button.single_add_to_cart_button.button.alt:hover {
	background-color: #E70000;
}

.single_add_to_cart_button {
	background-color: #E70000;
	font-family: "Termina", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	fill: #FFFFFF;
	color: #FFFFFF;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #E70000;
	padding: 13px 50px 13px 50px;
	border-radius: 0px !important;
}

button.single_add_to_cart_button.button.alt.rbr-disabled {
	background-color: #E70000 !important;
	font-family: "Termina", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	fill: #FFFFFF;
	color: #FFFFFF;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #E70000;
	padding: 13px 50px 13px 50px;
	border-radius: 0px !important;
}

/* Readable variation dropdown on dark themes */
select#pa_size option,
.rbr-shortcode .variations select option,
form.cart:has( .rbr-booking ) .variations select option {
	background: #000;
	color: #fff;
}
[for="pa_size"],
.rbr-shortcode .variations label,
form.cart:has( .rbr-booking ) .variations label {
	color: #fff;
}
.rbr-shortcode .variations select,
form.cart:has( .rbr-booking ) .variations select {
	color: #fff;
	background: #1a1a1a;
	border: 1px solid var( --rbr-border );
	border-radius: 8px;
	padding: 8px 10px;
}

/* Add-to-cart notices (so "added to cart" shows on builder product pages) */
.rbr-notices { margin: 0 0 14px; }
.rbr-notices .woocommerce-message,
.rbr-notices .woocommerce-error,
.rbr-notices .woocommerce-info {
	padding: 10px 14px;
	border-radius: 8px;
	background: rgba( 46, 204, 113, 0.14 );
	border-left: 3px solid #2ecc71;
	color: #d7f7e4;
	list-style: none;
}
.rbr-notices .woocommerce-error {
	background: rgba( 255, 90, 106, 0.14 );
	border-left-color: #ff5a6a;
	color: #ffd4d9;
}
.rbr-notices a { color: #fff; text-decoration: underline; }

/* ---- Checkout fulfillment options ---- */
.rbr-fulfillment {
	margin: 14px 0 18px;
	padding: 14px 16px;
	border: 1px solid rgba( 0, 0, 0, 0.1 );
	border-radius: 10px;
}
.rbr-fulfillment h3 { margin: 0 0 8px; font-size: 1rem; }
.rbr-fulfillment__opt { margin: 6px 0; }
.rbr-fulfillment__opt label { cursor: pointer; }

/* ---- Buy locked note ---- */
.rbr-buy-locked {
	margin: 6px 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: rgba( 127, 127, 127, 0.10 );
	font-size: 0.9em;
	color: var( --rbr-muted );
}
.rbr-buy-eta { font-weight: 600; color: inherit; }

/* ---- Favorites ---- */
.rbr-fav-btn {
	background: rgba( 255, 255, 255, 0.85 );
	border: 1px solid rgba( 0, 0, 0, 0.12 );
	border-radius: 999px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	font-size: 1.15rem;
	line-height: 1;
	color: #d6259a;
	transition: transform 0.12s ease, background 0.12s ease;
}
.rbr-fav-btn:hover { transform: scale( 1.08 ); }
.rbr-fav-btn.is-active { background: #d6259a; color: #fff; border-color: #d6259a; }
ul.products li.product .rbr-fav-btn { position: absolute; top: 10px; right: 10px; z-index: 2; }
ul.products li.product { position: relative; }

.rbr-rentals-table, .rbr-purchases-table { width: 100%; color: #fff; }
.rbr-rentals-table th, .rbr-rentals-table td,
.rbr-purchases-table th, .rbr-purchases-table td {
	color: #fff;
	border-color: rgba( 255, 255, 255, 0.18 );
}
.rbr-rentals-table a, .rbr-purchases-table a { color: #ff5a6a; }
.woocommerce-account .rbr-rentals-table h3,
.woocommerce-account h3 { color: #fff; }
.rbr-rental-actions .rbr-stub { opacity: 0.6; }
.rbr-rental-actions form { display: inline-block; margin-right: 6px; }
.rbr-rental-actions select { margin-right: 4px; }
.rbr-favorites-grid { list-style: none; margin: 0; padding: 0; }

/* My Account readability + action layout */
.woocommerce-MyAccount-content-wrapper h1,
.woocommerce-MyAccount-content-wrapper h2,
.woocommerce-MyAccount-content-wrapper h3,
.woocommerce-MyAccount-content-wrapper h4,
.woocommerce-MyAccount-content-wrapper p,
.woocommerce-MyAccount-content-wrapper tr,
.woocommerce-MyAccount-content-wrapper td {
	color: #fff !important;
}

form.rbr-extend-form { display: flex; }

td.rbr-rental-actions {
	display: flex;
	justify-content: space-between;
}

/* =====================================================================
   Booking redesign: section headings, duration tabs, date boxes,
   rental summary, deposit, terms, tag pills, per-day calendar prices.
   ===================================================================== */

/* Section headings (CHOOSE DURATION / PICK RENTAL DATES / RENTAL SUMMARY) */
.rbr-section { margin: 18px 0; }
.rbr-section__title {
	margin: 0 0 10px;
	font-size: 1.05em;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var( --rbr-text );
}

/* Duration tabs — square red tabs to match the brand. */
.rbr-duration .rbr-days { gap: 10px; }
.rbr-duration .rbr-day span {
	border-radius: 0;
	padding: 9px 18px;
	font-weight: 700;
	border: 1px solid var( --rbr-border );
	background: rgba( 255, 255, 255, 0.04 );
}
.rbr-duration .rbr-day:has( input:checked ) span {
	background: var( --rbr-accent );
	border-color: var( --rbr-accent );
	color: #fff;
}

/* Date boxes (START DATE / END DATE) */
.rbr-dates__head { display: flex; align-items: center; justify-content: space-between; }
.rbr-clear-dates {
	background: var( --rbr-accent ); color: #fff; border: 0; border-radius: 0;
	padding: 6px 16px; font-weight: 700; cursor: pointer; text-transform: uppercase;
	font-size: 0.8em; letter-spacing: 0.04em;
}
.rbr-clear-dates:hover { background: var( --rbr-accent-2 ); }
.rbr-daterow { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 6px; }
.rbr-datebox {
	flex: 1 1 160px; min-width: 150px; cursor: pointer;
	padding-bottom: 8px; border-bottom: 1px solid var( --rbr-border );
}
.rbr-datebox__label {
	display: block; font-size: 0.72em; letter-spacing: 0.08em; text-transform: uppercase;
	color: var( --rbr-muted ); margin-bottom: 6px;
}
.rbr-datebox__input,
.rbr-datebox__value {
	display: block; width: 100%; border: 0; background: transparent; padding: 0;
	font-size: 1.15em; font-weight: 700; color: var( --rbr-text ); cursor: pointer;
}
.rbr-datebox__input::placeholder,
.rbr-datebox__value { color: var( --rbr-muted ); font-weight: 500; }
.rbr-datebox__value:not(:empty) { color: var( --rbr-text ); font-weight: 700; }

/* Rental summary */
.rbr-summary {
	margin: 20px 0; padding: 16px 0 4px; border-top: 1px solid var( --rbr-border );
}
.rbr-summary__title {
	margin: 0 0 12px; font-size: 1.2em; font-weight: 800; color: var( --rbr-text );
}
.rbr-summary__row {
	display: flex; align-items: baseline; justify-content: space-between;
	padding: 8px 0; color: var( --rbr-muted ); font-size: 0.98em;
	border-bottom: 1px solid rgba( 160, 160, 170, 0.18 );
}
.rbr-summary__row > span:last-child { color: var( --rbr-text ); font-weight: 700; }
.rbr-summary__row small { color: var( --rbr-muted ); font-weight: 500; }
.rbr-summary__row--total {
	border-bottom: 0; margin-top: 4px; padding-top: 12px;
	font-size: 1.15em;
}
.rbr-summary__row--total > span { color: var( --rbr-text ) !important; font-weight: 800; }
.rbr-summary__note { margin: 10px 0 0; font-size: 0.88em; color: var( --rbr-accent-2 ); font-weight: 600; }

/* Terms / undertaking checkbox */
.rbr-terms {
	display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 4px;
	font-size: 0.95em; color: var( --rbr-text ); cursor: pointer;
}
.rbr-terms input { margin-top: 3px; accent-color: var( --rbr-accent ); width: 16px; height: 16px; }
.rbr-terms a,
.rbr-terms a:link,
.rbr-terms a:visited { color: var( --rbr-text ) !important; text-decoration: underline; }
.rbr-terms a:hover,
.rbr-terms a:focus,
.rbr-terms a:active { color: var( --rbr-accent-2 ) !important; text-decoration: underline; }

/* Tag pills on the product details page */
.rbr-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.rbr-tag {
	display: inline-block; padding: 4px 12px; border-radius: 999px;
	font-size: 0.78em; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
	background: rgba( 255, 255, 255, 0.06 ); border: 1px solid var( --rbr-border ); color: var( --rbr-text );
}
.rbr-tag--condition { background: var( --rbr-accent ); border-color: var( --rbr-accent ); color: #fff; }

/* Per-day price under each calendar day */
#ui-datepicker-div .rbr-cal-price {
	display: block; margin-top: 1px; font-size: 9px; line-height: 1.1;
	font-weight: 600; opacity: 0.85; pointer-events: none; white-space: nowrap;
}
#ui-datepicker-div td a { text-align: center; }

/* Contextual price block under the Rent / Buy toggle */
.rbr-priceblock { margin: 12px 0 4px; }
.rbr-compare {
	display: block; font-size: 0.9em; color: var( --rbr-muted ); margin-bottom: 2px;
}
.rbr-compare del { color: var( --rbr-muted ); }
.rbr-perday__amount,
.rbr-buyprice__amount {
	font-size: 1.7em; font-weight: 800; color: var( --rbr-accent ); line-height: 1.1;
}
.rbr-perday small,
.rbr-buyprice small { font-size: 0.62em; font-weight: 600; color: var( --rbr-muted ); margin-left: 4px; }
.rbr-buy-locked { color: var( --rbr-muted ); font-size: 0.95em; margin: 4px 0; }
.rbr-buy-locked .rbr-buy-eta { color: var( --rbr-text ); font-weight: 600; }

/* Size guide placed after the variation dropdowns */
.rbr-sizing--inline { margin: 6px 0 16px; }
.rbr-sizing--inline .rbr-sizing__title {
	margin: 0 0 4px; font-size: 0.9em; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.04em; color: var( --rbr-muted );
}
.rbr-sizing--inline .rbr-sizing__body { font-size: 0.92em; color: var( --rbr-text ); }

/* Terms & Conditions popup */
.rbr-terms__text { cursor: pointer; }
.rbr-terms-link,
.rbr-terms-view { color: var( --rbr-accent-2 ); text-decoration: underline; }
.rbr-terms-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; }
.rbr-terms-modal[hidden] { display: none; }
.rbr-terms-modal__backdrop { position: absolute; inset: 0; background: rgba( 0, 0, 0, 0.6 ); }
.rbr-terms-modal__box {
	position: relative; z-index: 1; width: min( 760px, 94vw ); max-height: 82vh; overflow: auto;
	background: #15151a; color: #f4f4f7; border: 1px solid var( --rbr-border ); border-radius: 14px;
	padding: 30px 34px; box-shadow: 0 24px 60px rgba( 0, 0, 0, 0.5 );
}
.rbr-terms-modal__close {
	position: absolute; top: 10px; right: 14px; background: none; border: 0; color: #f4f4f7;
	font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.rbr-terms-modal__title { margin: 0 0 12px; font-size: 1.3em; font-weight: 800; }
.rbr-terms-modal__body { font-size: 0.95em; line-height: 1.55; color: #d8d8e0; }
.rbr-terms-modal__agree {
	margin-top: 16px; background: var( --rbr-accent ) !important; color: #fff !important;
	border: 0; padding: 10px 22px; font-weight: 700; cursor: pointer; border-radius: 0;
}

/* Terms block on the order / emails */
.rbr-order-terms { margin: 16px 0; }
.rbr-order-terms__head { font-weight: 700; }
.rbr-order-terms__body { font-size: 0.92em; opacity: 0.9; margin-top: 4px; }

/* Brand overrides (Clear button + Terms modal close) */
button.rbr-clear-dates {
	background-color: #E70000 !important;
	font-family: "Termina", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	fill: #FFFFFF;
	color: #FFFFFF;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #E70000;
	padding: 13px 50px 13px 50px;
	border-radius: 0px !important;
}

button.rbr-terms-modal__close {
	background-color: #E70000 !important;
	font-family: "Termina", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	fill: #FFFFFF;
	color: #FFFFFF;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #E70000;
	padding: 13px 13px 13px 13px;
	border-radius: 10px !important;
}

/* =====================================================================
   Screenshot-matched booking redesign:
   Buy-first square segmented toggle, white hero price, full-width dark
   date field with a calendar icon, and a framed Rental Summary card.
   ===================================================================== */

/* Square segmented Buy / Rent toggle (brand red when active) */
.rbr-booking .rbr-mode-toggle {
	border: 0;
	border-radius: 0;
	overflow: visible;
	gap: 8px;
}
.rbr-booking .rbr-mode {
	border: 1px solid var( --rbr-border );
	border-radius: 0;
	padding: 10px 30px;
	background: transparent;
	color: var( --rbr-text );
	font-weight: 700;
}
.rbr-booking .rbr-mode:has( input:checked ) {
	background: var( --rbr-accent );
	border-color: var( --rbr-accent );
	color: #fff;
}

/* Hero price — white amount, muted "/ day" suffix (as per screenshot) */
.rbr-priceblock .rbr-perday__amount { color: var( --rbr-text ); }

/* Full-width dark date field with a calendar icon on the right */
.rbr-daterow { gap: 14px; }
.rbr-datebox {
	flex: 1 1 220px;
	position: relative;
	padding: 14px 44px 14px 16px;
	border: 1px solid var( --rbr-border );
	border-radius: 8px;
	background: rgba( 255, 255, 255, 0.03 );
}
.rbr-datebox__label { display: none; }
.rbr-datebox__input { font-size: 1em; font-weight: 600; }
.rbr-datebox::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 18px;
	height: 18px;
	transform: translateY( -50% );
	pointer-events: none;
	opacity: 0.7;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url( "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c6c6d0' stroke-width='2' stroke-linecap='round'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>" );
}

/* Framed Rental Summary card */
.rbr-summary {
	border: 1px solid var( --rbr-border );
	border-radius: 10px;
	padding: 18px 20px 14px;
	background: rgba( 255, 255, 255, 0.02 );
}
.rbr-summary__title {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.95em;
}

/* Teal, letter-spaced section + summary headings (match target screenshot) */
.rbr-booking .rbr-section__title,
.rbr-booking .rbr-summary__title {
	color: #5bb8c4;
	font-weight: 700;
	letter-spacing: 0.12em;
}

/* Teal "/ day" price suffix */
.rbr-priceblock .rbr-perday small,
.rbr-priceblock .rbr-buyprice small { color: #5bb8c4; }

/* Deposit reassurance note: green, sitting below the summary card */
.rbr-booking .rbr-summary__note {
	color: #2ecc71;
	margin: 12px 0 0;
	font-weight: 600;
}

/* =====================================================================
   Flatpickr — modern dark brand calendar theme (scoped to .rbr-fp so it
   never restyles other flatpickr instances on the site).
   ===================================================================== */
.flatpickr-calendar.rbr-fp {
	background: #15151c;
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba( 0, 0, 0, 0.55 );
	color: #f4f4f7;
	width: auto;
	padding: 6px;
}
.flatpickr-calendar.rbr-fp .flatpickr-months,
.flatpickr-calendar.rbr-fp .flatpickr-month,
.flatpickr-calendar.rbr-fp .flatpickr-current-month,
.flatpickr-calendar.rbr-fp .flatpickr-weekdays,
.flatpickr-calendar.rbr-fp span.flatpickr-weekday {
	background: transparent;
}
.flatpickr-calendar.rbr-fp .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.rbr-fp .flatpickr-current-month input.cur-year,
.flatpickr-calendar.rbr-fp .flatpickr-monthDropdown-month {
	color: #fff;
	background: #15151c;
	font-weight: 700;
}
.flatpickr-calendar.rbr-fp span.flatpickr-weekday { color: #9a9aa8; font-weight: 600; }
.flatpickr-calendar.rbr-fp .flatpickr-prev-month svg,
.flatpickr-calendar.rbr-fp .flatpickr-next-month svg { fill: #fff; }
.flatpickr-calendar.rbr-fp .flatpickr-prev-month:hover svg,
.flatpickr-calendar.rbr-fp .flatpickr-next-month:hover svg { fill: var( --rbr-accent-2, #ff2e45 ); }

.flatpickr-calendar.rbr-fp .flatpickr-day {
	color: #e8e8f0;
	border-radius: 9px;
	border-color: transparent;
	height: auto;
	min-height: 40px;
	line-height: 1.05;
	padding: 6px 0 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.flatpickr-calendar.rbr-fp .flatpickr-day:hover {
	background: rgba( 224, 21, 43, 0.28 );
	border-color: transparent;
}
.flatpickr-calendar.rbr-fp .flatpickr-day.today { border: 1px solid rgba( 255, 255, 255, 0.35 ); }
.flatpickr-calendar.rbr-fp .flatpickr-day.selected,
.flatpickr-calendar.rbr-fp .flatpickr-day.startRange,
.flatpickr-calendar.rbr-fp .flatpickr-day.endRange {
	background: var( --rbr-accent, #e0152b );
	border-color: var( --rbr-accent, #e0152b );
	color: #fff;
}
.flatpickr-calendar.rbr-fp .flatpickr-day.inRange {
	background: rgba( 224, 21, 43, 0.18 );
	border-color: transparent;
	box-shadow: none;
}
.flatpickr-calendar.rbr-fp .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar.rbr-fp .flatpickr-day.flatpickr-disabled:hover,
.flatpickr-calendar.rbr-fp .flatpickr-day.prevMonthDay,
.flatpickr-calendar.rbr-fp .flatpickr-day.nextMonthDay {
	color: #55555f;
	background: transparent;
}
.flatpickr-calendar.rbr-fp .flatpickr-day.flatpickr-disabled { text-decoration: line-through; cursor: not-allowed; }

/* Per-day price under each calendar day */
.flatpickr-calendar.rbr-fp .rbr-fp-price {
	display: block;
	font-size: 9px;
	line-height: 1;
	margin-top: 2px;
	color: #9a9aa8;
	font-weight: 600;
}
.flatpickr-calendar.rbr-fp .flatpickr-day.selected .rbr-fp-price,
.flatpickr-calendar.rbr-fp .flatpickr-day:hover .rbr-fp-price { color: #fff; }

/* Calendar pointer arrow colored for the dark theme */
.flatpickr-calendar.rbr-fp.arrowTop:before,
.flatpickr-calendar.rbr-fp.arrowTop:after { border-bottom-color: #15151c; }
.flatpickr-calendar.rbr-fp.arrowBottom:before,
.flatpickr-calendar.rbr-fp.arrowBottom:after { border-top-color: #15151c; }

/* The flatpickr alt input inherits the date-box styling */
.rbr-datebox .rbr-fp-alt {
	cursor: pointer;
	background: transparent;
}
