/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

/* Import shortcode-specific styles */
@import url('wp_roomcloud-form.css');
@import url('wp_roomcloud-results.css');

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   Shared Components - Guest Buttons
   Used in: Form, Results Modal
   ========================================================================== */

.wpr-guest-buttons {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.wpr-guest-buttons button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 0.5rem;
}

.wpr-guest-buttons .wpr-count {
    min-width: 1.5rem;
    text-align: center;
}


/*
 * Ajustes visuales para el bloque de carrito de WooCommerce Blocks (iteraciÃ³n
 * 1.4.101). Las clases se anclan desde `wp_roomcloud-cart-block.js` para
 * controlar la jerarquÃ­a renderizada por el filtro `itemName`.
 */
.wp-roomcloud-cart-block__room-name {
    display: block;
    color: #1f2933;
    font-weight: 600;
    line-height: 1.25;
}

.wp-roomcloud-cart-block__rate-label {
    display: block;
    margin-top: 0.25rem;
    color: #4d5969;
    font-size: 0.875rem;
    line-height: 1.3;
}

.wp-roomcloud-cart-block__guest-segments {
    display: block;
    margin-top: 0.25rem;
    color: #616e7c;
    font-size: 0.8125rem;
    line-height: 1.3;
}

/*
 * La clase compacta oculta miniaturas y precios duplicados tanto en el listado
 * del carrito como en el resumen lateral del checkout cuando los filtros no
 * logran interceptar el renderizado.
 */
.wp-roomcloud-cart-item--compact .wc-block-cart-item__image,
.wp-roomcloud-cart-item--compact .wc-block-cart-item__prices,
.wp-roomcloud-cart-item--compact .wc-block-components-order-summary-item__image,
.wp-roomcloud-cart-item--compact .wc-block-components-order-summary-item__individual-prices {
    display: none !important;
}

.roomcloud-cart__title {
    font-size: 1.25rem;
    text-align: center;
    margin: 0;
}

.roomcloud-cart__stay-row {
    display: flex;
    flex-direction: row;
    font-size: 0.8rem;
}

.roomcloud-cart__stay-label {
    flex-grow: 1;
}

.roomcloud-cart__stay-row--guests {
    align-items: flex-start;
}

.roomcloud-cart__stay-value {
    list-style-type: none;
    margin: 0;
}

.roomcloud-cart__stay-value--guests {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    text-align: right;
}

.roomcloud-cart__stay-guests-total {
    font-weight: 600;
}

.roomcloud-cart__stay-guests-breakdown {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.roomcloud-cart__stay-guests-breakdown-item {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.4rem;
    font-size: 0.7rem;
    color: #444;
}

.roomcloud-cart__stay-guests-breakdown-label {
    font-weight: 500;
}

.roomcloud-cart__stay-guests-breakdown-value {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.roomcloud-cart__stay-guests-breakdown-separator,
.roomcloud-cart__stay-guests-total-separator {
    color: #777;
}

/* ========================================
   Reservation Summary - Unified Styles
   ======================================== */

.roomcloud-reservation-summary {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* ===== COMPACT LAYOUT (New Icon-Based Design) ===== */
.roomcloud-reservation-summary--compact {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* Dates row */
.roomcloud-reservation-summary__dates {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 800;
	color: #333;
	padding: 0.5rem 0;
}

.roomcloud-reservation-summary__date {
	white-space: nowrap;
}

.roomcloud-reservation-summary__date-separator {
	color: #666;
	font-size: 1rem;
	margin: 0 0.25rem;
}

/* Details row (icons + values) */
.roomcloud-reservation-summary__details {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	flex-wrap: wrap;
    margin-bottom: 1rem;
    font-size: 1rem;
}

/* Individual items (icon + value + age range) */
.roomcloud-reservation-summary__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.4rem;
	background-color: #f8f9fa;
	border-radius: 8px;
	padding: 0.4rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	min-height: 2.5rem;
}

/* Icon block (icon + age range stacked vertically) */
.roomcloud-reservation-summary__icon-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
}

.roomcloud-reservation-summary__icon-block i {
	color: #555;
}

.roomcloud-reservation-summary__item .roomcloud-reservation-summary__value {
	font-weight: 500;
	color: #333;
	white-space: nowrap;
}

.roomcloud-reservation-summary__separator {
	color: #777;
	margin: 0 0.15rem;
}

/* Age range label (small text below icon) */
.roomcloud-reservation-summary__age-range {
	font-size: 0.75rem;
	color: #666;
	line-height: 1;
	text-align: center;
}

/* Background colors by type */
.roomcloud-reservation-summary__item--nights,
.roomcloud-reservation-summary__item--rooms {
	background-color: #fef9e7;
}

.roomcloud-reservation-summary__item--guest.roomcloud-reservation-summary__item--fulfilled {
	background-color: #d4edda;
}

.roomcloud-reservation-summary__item--guest.roomcloud-reservation-summary__item--incomplete {
	background-color: #f8d7da;
}

/* Icon color variations */
.roomcloud-reservation-summary__item--nights .roomcloud-reservation-summary__icon-block i {
	color: #4a5568;
}

.roomcloud-reservation-summary__item--adults .roomcloud-reservation-summary__icon-block i {
	color: #2d3748;
}

.roomcloud-reservation-summary__item--rooms .roomcloud-reservation-summary__icon-block i {
	color: #4a5568;
}

.roomcloud-reservation-summary__item[class*="child"] .roomcloud-reservation-summary__icon-block i {
	color: #4299e1;
}

/* Responsive adjustments */
@media (max-width: 480px) {
	.roomcloud-reservation-summary__icon-block i {
		font-size: 1.1rem;
	}
	
	.roomcloud-reservation-summary__dates {
		font-size: 0.85rem;
	}
}

/* ===== ORDER LAYOUT (Email + thank-you page) ===== */
.roomcloud-reservation-summary--order .roomcloud-reservation-summary__body {
	padding: 12px 0;
}

.roomcloud-reservation-summary--order .roomcloud-reservation-summary__row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
	padding: 0;
	font-size: inherit;
	align-items: baseline;
}

.roomcloud-reservation-summary--order .roomcloud-reservation-summary__row:last-child {
	margin-bottom: 0;
}

.roomcloud-reservation-summary--order .roomcloud-reservation-summary__label {
	font-weight: 600;
	color: #555;
	flex-grow: 0;
}

.roomcloud-reservation-summary--order .roomcloud-reservation-summary__value {
	color: #333;
	text-align: right;
}

.roomcloud-reservation-summary--order .roomcloud-reservation-summary__breakdown-item {
	display: block;
	color: #666;
	margin-top: 4px;
	flex-direction: unset;
	font-size: inherit;
}

.wpr-calendar-card .wpr-calendar-card__buttons {
    margin-bottom: 2rem;
    display: flex;
    flex-wrap: wrap;
}

.wpr-calendar-card .wpr-calendar-card__buttons a {
    padding: 1rem;
}

/* ===== SHARED: Reservation status badge =====
   Custom properties + class rules live here so they are available on both
   the order-received (thankyou) page and My Account (view-order) pages.
   The account stylesheet no longer re-declares these.
   ========================================================================== */
:root {
    /* ===== Shared card tokens â€” used across checkout, order-received, my-account ===== */
    --wpr-card-border:  1px solid #e5e7eb;
    --wpr-card-radius:  12px;
    --wpr-card-shadow:  0 1px 3px rgba(0, 0, 0, 0.08);
    --wpr-card-bg:      #fff;

    /* ===== Reservation status badge ===== */
    --wpr-badge-processing-bg:    #fef3c6;
    --wpr-badge-processing-text:  #953d00;
    --wpr-badge-processing-border: #fee685;

    --wpr-badge-confirmed-bg:     #d0fae5;
    --wpr-badge-confirmed-text:   #005f46;
    --wpr-badge-confirmed-border: #a4f4cf;

    --wpr-badge-cancellation-req-bg:     #fff3e0;
    --wpr-badge-cancellation-req-text:   #bf360c;
    --wpr-badge-cancellation-req-border: #ffcc80;

    --wpr-badge-on-hold-bg:       #e0f2fe;
    --wpr-badge-on-hold-text:     #075985;
    --wpr-badge-on-hold-border:   #bae6fd;

    --wpr-badge-completed-bg:     #d0fae5;
    --wpr-badge-completed-text:   #005f46;
    --wpr-badge-completed-border: #a4f4cf;

    --wpr-badge-cancelled-bg:     #f1f5f9;
    --wpr-badge-cancelled-text:   #475569;
    --wpr-badge-cancelled-border: #e2e8f0;

    --wpr-badge-failed-bg:        #ffe2e2;
    --wpr-badge-failed-text:      #9f0712;
    --wpr-badge-failed-border:    #ffcaca;
}

.wpr-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    border: 1px solid;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    line-height: 1.4;
}

.wpr-badge--processing {
    background-color: var(--wpr-badge-processing-bg);
    color:            var(--wpr-badge-processing-text);
    border-color:     var(--wpr-badge-processing-border);
}

.wpr-badge--confirmed {
    background-color: var(--wpr-badge-confirmed-bg);
    color:            var(--wpr-badge-confirmed-text);
    border-color:     var(--wpr-badge-confirmed-border);
}

.wpr-badge--cancellation-req {
    background-color: var(--wpr-badge-cancellation-req-bg);
    color:            var(--wpr-badge-cancellation-req-text);
    border-color:     var(--wpr-badge-cancellation-req-border);
}

.wpr-badge--on-hold {
    background-color: var(--wpr-badge-on-hold-bg);
    color:            var(--wpr-badge-on-hold-text);
    border-color:     var(--wpr-badge-on-hold-border);
}

.wpr-badge--completed {
    background-color: var(--wpr-badge-completed-bg);
    color:            var(--wpr-badge-completed-text);
    border-color:     var(--wpr-badge-completed-border);
}

.wpr-badge--cancelled {
    background-color: var(--wpr-badge-cancelled-bg);
    color:            var(--wpr-badge-cancelled-text);
    border-color:     var(--wpr-badge-cancelled-border);
}

.wpr-badge--failed {
    background-color: var(--wpr-badge-failed-bg);
    color:            var(--wpr-badge-failed-text);
    border-color:     var(--wpr-badge-failed-border);
}

/* ===== ORDER RECEIVED LAYOUT (Stay Details Card) ===== */
.wpr-stay-card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	margin-bottom: 24px;
	overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.wpr-stay-card__body {
	padding: 20px;
}

/* Card header: reservation number + badge, hotel, date */
.wpr-stay-card__header {
	padding: 16px 20px;
	border-bottom: 1px solid #e5e7eb;
}

.wpr-stay-card__order-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.wpr-stay-card__order-number {
	font-weight: 600;
	font-size: 1rem;
	color: #111827;
}

.wpr-stay-card__meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem 1rem;
	margin-top: 0.125rem;
}

.wpr-stay-card__meta {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	color: #6b7280;
}

.wpr-stay-card__meta svg {
	flex-shrink: 0;
}

.wpr-stay-card__actions {
	margin-top: 0.75rem;
    gap: 0.5rem;
	display: flex;
	justify-content: flex-end;
}

.wpr-stay-dates-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #f3f4f6;
	border-radius: 8px;
	padding: 16px;
}

.wpr-stay-dates-bar__col {
	text-align: center;
	flex: 1;
}

.wpr-stay-dates-bar__label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: #6b7280;
	margin: 0 0 4px;
	font-weight: 500;
}

.wpr-stay-dates-bar__date {
	font-weight: 600;
	color: #111827;
	margin: 0;
	font-size: 15px;
}

.wpr-stay-dates-bar__middle {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 0 16px;
}

.wpr-stay-dates-bar__middle i {
	color: #0c2340;
	font-size: 20px;
}

.wpr-stay-dates-bar__nights {
	font-size: 13px;
	font-weight: 700;
	color: #111827;
	white-space: nowrap;
}

.wpr-stay-guests {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    justify-content: center;
	gap: 16px;
	margin-top: 16px;
	font-size: 14px;
	color: #6b7280;
}

.wpr-stay-guests__item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.wpr-stay-guests__item i {
	color: #6b7280;
	font-size: 14px;
}

@media (max-width: 560px) {
	.wpr-stay-dates-bar {
		flex-direction: column;
		gap: 12px;
	}

	.wpr-stay-dates-bar__col {
		width: 100%;
	}

	.wpr-stay-dates-bar__middle {
		flex-direction: row;
		padding: 4px 0;
	}
}

/* ===== LEGACY LAYOUT (Preserved for non-compact contexts) ===== */
.roomcloud-reservation-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0.5rem 0;
	font-size: 0.8rem;
}

.roomcloud-reservation-summary__label {
	font-weight: 500;
	color: #555;
	flex-grow: 1;
	flex-shrink: 0;
}

.roomcloud-reservation-summary__value {
	color: #333;
	text-align: right;
}

.roomcloud-reservation-summary__row--guests {
	align-items: flex-start;
}

.roomcloud-reservation-summary__value--guests {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.35rem;
	text-align: right;
}

.roomcloud-reservation-summary__guests-total {
	font-weight: 600;
}

.roomcloud-reservation-summary__guests-breakdown {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.roomcloud-reservation-summary__breakdown-item {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.4rem;
	font-size: 0.7rem;
	color: #444;
}

.roomcloud-reservation-summary__breakdown-label {
	font-weight: 500;
}

.roomcloud-reservation-summary__breakdown-value {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.roomcloud-reservation-summary__breakdown-separator,
.roomcloud-reservation-summary__guests-separator {
	color: #777;
}

/* ===== NOTICES (Common to both layouts) ===== */
.roomcloud-reservation-summary__notice {
	padding: 0.75rem;
	border-radius: 4px;
	/* font-size: 0.85rem; */
	margin: 0.5rem 0;
}

.roomcloud-reservation-summary__notice::before {
	display: none;
}

/* .roomcloud-reservation-summary__notice--guests-fulfilled {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.roomcloud-reservation-summary__notice--pending-excluded {
	background-color: #fff3cd;
	color: #856404;
	border: 1px solid #ffeaa7;
}

.roomcloud-reservation-summary__notice--payment-blocked {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
} */

/* Context-specific adjustments */
.roomcloud-reservation-summary--checkout .roomcloud-reservation-summary__row {
	border-bottom: 1px solid #e8e8e8;
}

.roomcloud-reservation-summary--checkout .roomcloud-reservation-summary__row:last-child {
	border-bottom: none;
}

/* ===== Order-pay page: two-column layout matching checkout ===== */

/* Hide the original WC order-pay table (replaced by custom .wpr-review-wrapper) */
.woocommerce-order-pay form#order_review > table.shop_table:first-of-type {
	display: none;
}

/* Sidebar wrapper is the grid container: payment (left) + sidebar content (right) */
.woocommerce-order-pay .wpr-order-pay-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: 0;
	align-items: start;
}

/* Sidebar content: right column, sticky */
.woocommerce-order-pay .wpr-order-pay-sidebar > .wpr-sidebar-content {
	grid-column: 2;
	grid-row: 1;
	position: sticky;
	top: 2rem;
	height: fit-content;
}

/* Payment: left column */
.woocommerce-order-pay .wpr-order-pay-sidebar > #payment {
	grid-column: 1;
	grid-row: 1;
}

/* Total card — hidden on desktop, visible on mobile. */
.woocommerce-order-pay .wpr-order-pay-total-card {
	display: none;
}

.woocommerce-order-pay .wpr-review-wrapper table {
	margin-bottom: 0;
}

/* ===== Order-pay mobile ≤ 768px: single column, sidebar on top ===== */
@media (max-width: 768px) {
	.woocommerce-order-pay .wpr-order-pay-sidebar {
		grid-template-columns: 1fr;
        padding: 1rem;
	}

	.woocommerce-order-pay .wpr-order-pay-sidebar > .wpr-sidebar-content {
		grid-column: 1;
		grid-row: 1;
		position: static;
	}

	.woocommerce-order-pay .wpr-order-pay-total-card {
		display: block;
		grid-column: 1;
		grid-row: 2;
	}

	.woocommerce-order-pay .wpr-order-pay-sidebar > #payment {
		grid-column: 1;
		grid-row: 3;
	}
}


/* Cart shortcode */
.wpr-mobile-cart-toggle {
    display: flex;
}

.roomcloud-cart {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    min-width: 22%;
    font-size: 1rem;
}

.roomcloud-cart__items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.roomcloud-cart__item {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: center;
    gap: 0.5rem;
}

.roomcloud-cart__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    color: #444;
    background-color: #fafafa;
    text-decoration: none;
}

.roomcloud-cart__remove:hover,
.roomcloud-cart__remove:focus {
    color: #b32d2e;
    border-color: #b32d2e;
    background-color: #fff5f5;
}

.roomcloud-cart__quantity {
    font-weight: 600;
    min-width: 2rem;
    text-align: center;
    color: #333;
}

.roomcloud-cart__details {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.roomcloud-cart__room {
    font-weight: 600;
    color: #111;
}

.roomcloud-cart__rate {
    font-size: 0.85rem;
    color: #555;
}

.roomcloud-cart__price {
    font-weight: 600;
    color: #111;
    text-align: right;
}

.roomcloud-cart__empty {
    margin: 0;
    /* font-size: 0.95rem; */
    color: #555;
}

.roomcloud-cart__promo {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.roomcloud-cart__promo-input {
    min-width: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
}

.roomcloud-cart__promo-button {
    padding: 0.5rem 1.25rem;
    border-radius: 4px;
    border: 1px solid #007cba;
    background-color: #007cba;
    color: #fff;
    cursor: pointer;
}

.roomcloud-cart__promo-button:hover,
.roomcloud-cart__promo-button:focus {
    background-color: #005a8c;
    border-color: #005a8c;
}

.roomcloud-cart__summary {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.roomcloud-cart__total,
.roomcloud-cart__tax,
.roomcloud-cart__subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    /* font-size: 0.8rem; */
}

.roomcloud-cart__total-value {
    font-size: 1.1rem;
}

.roomcloud-cart__divider {
    width: 100%;
    height: 1px;
    margin: 0;
    background-color: #e0e0e0;
}

.roomcloud-cart__checkout,
a.roomcloud-cart__checkout,
a.roomcloud-cart__checkout:visited,
button.roomcloud-cart__checkout,
button.roomcloud-cart__checkout:visited {
    align-self: flex-end;
    border: 0.5px solid grey;
    width: -webkit-fill-available;
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 10px;
    margin-top: 2rem;
    font-weight: 600;
}

.roomcloud-cart__checkout[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Modal del shortcode de carrito: bloquea el checkout hasta confirmar huÃ©spedes pendientes. */
.roomcloud-cart__modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
}

.roomcloud-cart__modal.is-open {
    display: flex;
}

.roomcloud-cart__modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 0;
}

.roomcloud-cart__modal-dialog {
    position: relative;
    z-index: 1;
    width: min(480px, 100%);
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.25);
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.roomcloud-cart__modal-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.roomcloud-cart__modal-title {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 600;
    color: #111827;
}

.roomcloud-cart__modal-message {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #374151;
}

.roomcloud-cart__modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.roomcloud-cart__modal-actions .button {
    min-width: 160px;
    justify-content: center;
}

@media (max-width: 600px) {
    .roomcloud-cart__modal-dialog {
        padding: 1.25rem;
    }

    .roomcloud-cart__modal-actions {
        justify-content: stretch;
        flex-direction: column;
    }

    .roomcloud-cart__modal-actions .button {
        flex: 1 1 45%;
        min-width: 0;
    }
}

.roomcloud-cart__actions {
    margin-top: 1rem;
    text-align: right;
}

.roomcloud-cart__clear {
    /* font-size: 0.875rem;
    color: #0073aa; */
    text-decoration: none;
}

.roomcloud-cart__clear:hover,
.roomcloud-cart__clear:focus {
    text-decoration: underline;
}

.roomcloud-cart__group-header {
    display: flex;
    flex-direction: row;
}

.roomcloud-cart__group-room {
    flex-grow: 1;
    /* font-size: 0.8rem; */
    font-weight: 800;
}

/* .roomcloud-cart__group-total {
    font-size: 0.9rem;
} */

.roomcloud-cart__rate-list {
    list-style: none;
    padding: 0;
    margin-left: 0;
    margin-bottom: 0.6em;
}

.roomcloud-cart__rate-item {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.roomcloud-cart__rate-content {
    /* font-size: 0.8rem; */
    display: flex;
    flex-direction: row;
    flex-grow: 1;
}

.roomcloud-cart__rate-label {
    flex-grow: 1;
}

/* Resumen compacto de adultos y menores por lÃ­nea del carrito.
 * La versiÃ³n 1.4.45 alinea los segmentos en una sola fila para reducir la altura del widget. */
.roomcloud-cart__rate-guests {
    margin-top: 0.25rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.15rem;
    align-items: baseline;
    color: #555;
    font-size: 0.9rem;
}

.roomcloud-cart__notice {
    background-color: mediumseagreen;
    color: white;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 4px;
    border-radius: 3px;
}
/* .roomcloud-cart__notice.roomcloud-cart__notice--pending-excluded,
.roomcloud-cart__notice.roomcloud-cart__notice--payment-blocked {
    background-color: crimson;
} */

.roomcloud-cart__rate-guests-item {
    /* font-size: 0.75rem; */
    line-height: 1.4;
    display: inline-flex;
}

.roomcloud-cart__rate-guests-separator {
    /* font-size: 0.75rem; */
    line-height: 1.4;
    display: inline-flex;
}


.wc-block-components-order-summary-item__image img {
    display: none;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
    width: 20px;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices {
    display: none;
}

@media (max-width: 600px) {
    .roomcloud-cart__item {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "remove quantity"
            "details details"
            "price price";
        row-gap: 0.5rem;
    }

    .roomcloud-cart__remove {
        grid-area: remove;
    }

    .roomcloud-cart__quantity {
        grid-area: quantity;
        justify-self: start;
    }

    .roomcloud-cart__details {
        grid-area: details;
    }

    .roomcloud-cart__price {
        grid-area: price;
        text-align: left;
    }

    .roomcloud-cart__checkout {
        width: 100%;
        text-align: center;
    }
}

/* ============================================================================
   Checkout Classic Order Review Summary
   ========================================================================== */

.roomcloud-checkout-summary {
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

.roomcloud-checkout-summary td {
    padding: 1.5rem 0;
}

.roomcloud-checkout-summary__content {
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 1.25rem;
}

.roomcloud-checkout-summary__title {
    /* font-size: 1.125rem; */
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: #333;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 0.5rem;
}

.roomcloud-checkout-summary__stay {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.roomcloud-checkout-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0.5rem 0;
    border-bottom: 1px solid #e8e8e8;
}

.roomcloud-checkout-summary__row:last-child {
    border-bottom: none;
}

.roomcloud-checkout-summary__label {
    font-weight: 500;
    color: #555;
    flex-shrink: 0;
    min-width: 100px;
}

.roomcloud-checkout-summary__value {
    color: #333;
    text-align: right;
    flex-grow: 1;
}

.roomcloud-checkout-summary__row--guests {
    flex-direction: column;
    align-items: stretch;
}

.roomcloud-checkout-summary__row--guests .roomcloud-checkout-summary__value {
    text-align: left;
    margin-top: 0.5rem;
}

.roomcloud-checkout-summary__value--guests {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.roomcloud-checkout-summary__guests-total {
    font-weight: 600;
    /* color: #2c3e50; */
    font-size: 1rem;
}

.roomcloud-checkout-summary__guests-separator {
    color: #999;
    font-weight: 400;
}

.roomcloud-checkout-summary__guests-breakdown {
    list-style: none;
    margin: 0.5rem 0 0 0;
    padding: 0.75rem;
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #e8e8e8;
}

.roomcloud-checkout-summary__breakdown-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.375rem 0;
    /* font-size: 0.875rem; */
    color: #666;
}

.roomcloud-checkout-summary__breakdown-item + .roomcloud-checkout-summary__breakdown-item {
    border-top: 1px solid #f0f0f0;
    margin-top: 0.375rem;
    padding-top: 0.375rem;
}

.roomcloud-checkout-summary__breakdown-label {
    font-weight: 500;
}

.roomcloud-checkout-summary__breakdown-value {
    font-weight: 400;
    color: #777;
}

.roomcloud-checkout-summary__breakdown-separator {
    color: #ccc;
    margin: 0 0.25rem;
}

/* .roomcloud-checkout-summary__breakdown-item--adults {
    color: #2c3e50;
}

.roomcloud-checkout-summary__breakdown-item--children {
    color: #e67e22;
}

.roomcloud-checkout-summary__breakdown-item--infants {
    color: #95a5a6;
} */

.roomcloud-checkout-summary__notice {
    margin: 0.75rem 0 0 0;
    padding: 0.75rem;
    border-radius: 3px;
    /* font-size: 0.875rem; */
    line-height: 1.4;
}

/* .roomcloud-checkout-summary__notice--fulfilled {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.roomcloud-checkout-summary__notice--excluded,
.roomcloud-checkout-summary__notice--payment-blocked {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    color: #856404;
} */

.wpr-payment-options {
    border: none;
    text-align: left;
}

/* Item names with guest information */
.roomcloud-checkout-item-guests {
    display: block;
    margin-top: 0.25rem;
    color: #666;
    font-weight: 400;
    line-height: 1.3;
}

/* Cancellation policies â€” base (all contexts: checkout, email, view-order) */
.cancellation-policies {
    font-size: 1rem;
}

.cancellation-policies h3,
.cancellation-policies p {
    margin: 0;
}

.cancellation-policies ul {
    margin: 0;
}

/* ============================================================================
   Cancellation Policies â€” Card Style (.cancellation-policies--card)
   Applies in all contexts: checkout, order-received, account/view-order.
   ============================================================================ */

.cancellation-policies--card {
    margin: 0 0 24px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
    overflow: hidden;
}

.cancellation-policies--card .cancellation-policies__header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
}

.cancellation-policies--card .cancellation-policies__header-icon {
    flex-shrink: 0;
    color: #0c2340;
}

.cancellation-policies--card .cancellation-policies__title {
    margin: 0;
    font-size: 1rem !important;
    font-weight: 600;
    color: #111827;
}

.cancellation-policies--card .cancellation-policies__body {
    padding: 16px 20px;
}

.cancellation-policies--card .cancellation-policies__body > p {
    margin: 0 0 12px;
    font-size: 0.9375rem;
    color: #6b7280;
}

.cancellation-policies--card .cancellation-policies__body ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cancellation-policies--card .cancellation-policies__body li {
    padding: 12px 14px;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    font-size: 0.9375rem;
    color: #374151;
    line-height: 1.6;
}

.cancellation-policies--card .cancellation-policies__body li strong {
    display: block;
    margin-bottom: 4px;
    color: #111827;
    font-weight: 600;
}

@media (max-width: 768px) {
    .roomcloud-checkout-summary__content {
        padding: 1rem;
    }

    .roomcloud-checkout-summary__title {
        font-size: 1rem;
    }

    .roomcloud-checkout-summary__row {
        flex-direction: column;
        gap: 0.25rem;
    }

    .roomcloud-checkout-summary__label {
        min-width: auto;
    }

    .roomcloud-checkout-summary__value {
        text-align: left;
    }

    .roomcloud-checkout-summary__guests-breakdown {
        padding: 0.5rem;
    }

    .roomcloud-checkout-summary__breakdown-item {
        font-size: 0.8125rem;
    }
}

/* ==========================================================================
   Order Received: Confirmation Header
   ========================================================================== */

.woocommerce-order {
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem;
}

.wpr-order-received-header {
    text-align: center;
    margin-bottom: 2rem;
    padding: 2rem 1.5rem;
    background: #fff;
    border: 1px solid #e1ddd8;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.wpr-order-received-header__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background-color: rgba(33, 60, 89, 0.1);
    margin: 0 auto 1.25rem;
}

.wpr-order-received-header__icon {
    width: 2.5rem;
    height: 2.5rem;
    color: #213c59;
}

.wpr-order-received-header__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #0b121a;
    margin: 0 0 0.5rem;
}

.wpr-order-received-header__message {
    color: #5f6469;
    font-size: 1rem;
    line-height: 1.6;
    max-width: 32rem;
    margin: 0 auto 1.5rem;
}

.wpr-order-received-header__code-box {
    display: inline-block;
    background: rgba(33, 60, 89, 0.05);
    border-radius: 0.625rem;
    padding: 20px;
    width: 100%;
}

.wpr-order-received-header__code-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5f6469;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.wpr-order-received-header__code-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.wpr-order-received-header__code {
    font-family: monospace;
    font-size: 1.375rem;
    font-weight: 700;
    color: #0b121a;
    letter-spacing: 0.04em;
}

.wpr-order-received-header__copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background: #fff;
    border: 1px solid rgba(33, 60, 89, 0.2);
    border-radius: 0.5rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #213c59;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.wpr-order-received-header__copy-btn:hover {
    background: rgba(33, 60, 89, 0.1);
}

.wpr-order-received-header__copy-btn--copied {
    color: #1c882d;
    border-color: rgba(28, 136, 45, 0.3);
    background: rgba(28, 136, 45, 0.05);
}

.wpr-order-received-header__icon--alert {
    color: #dc2626;
}

.wpr-order-received-header__icon--clock {
    color: #d97706;
}

.wpr-order-received-header__icon-wrap--alert {
    background-color: rgba(220, 38, 38, 0.1);
}

.wpr-order-received-header__icon-wrap--clock {
    background-color: rgba(217, 119, 6, 0.1);
}

.wpr-order-received-header__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.wpr-order-received-header__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.625rem 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    cursor: pointer;
}

.wpr-order-received-header__action-btn--primary {
    background: #213c59;
    color: #fff!important;
    border: 1px solid #213c59;
}

.wpr-order-received-header__action-btn--primary:hover {
    background: #1a3149;
    border-color: #1a3149;
}

.wpr-order-received-header__action-btn--secondary {
    background: #fff;
    color: #213c59;
    border: 1px solid rgba(33, 60, 89, 0.3);
}

.wpr-order-received-header__action-btn--secondary:hover {
    background: rgba(33, 60, 89, 0.05);
    border-color: #213c59;
}

.wpr-order-received-header__action-btn--whatsapp {
    background: #25D366;
    color: #fff !important;
    border: 1px solid #25D366;
}

.wpr-order-received-header__action-btn--whatsapp:hover {
    background: #1da851;
    border-color: #1da851;
}

@media ( max-width: 480px ) {
    .wpr-order-received-header__code-row {
        flex-direction: column;
        align-items: center;
    }
    .wpr-order-received-header__code-box {
        min-width: auto;
        width: 100%;
    }
}


/* ==========================================================================
   Order Received: Guest Information Card
   ========================================================================== */

.wpr-guest-details {
    margin: 0 0 24px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.wpr-guest-details__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.wpr-guest-details__header-icon {
    flex-shrink: 0;
    color: #0c2340;
}

.wpr-guest-details__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.wpr-guest-details__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   Cart RoomCloud: Offer price display (issue #718)
   ========================================================================== */

.roomcloud-cart__rate-subtotal--offer {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1em;
}

/* Precio original tachado cuando hay oferta */
.roomcloud-cart__rate-price-original {
    font-size: 0.8em;
    color: #9ca3af;
    font-weight: 400;
    text-decoration: line-through;
    text-align: right;
}

/* Precio con oferta en rojo */
.roomcloud-cart__rate-price--offer {
    color: #dc2626;
    font-weight: 700;
    text-align: right;
}

/* Badge de descuento: pill rojo con porcentaje */
.roomcloud-cart__rate-offer-badge {
    display: inline-flex;
    align-items: center;
    background-color: #dc2626;
    color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    padding: 0.15em 0.5em;
    border-radius: 999px;
    line-height: 1.4;
}

/* Checkout order review offer display (issue #719) */
.woocommerce-checkout .wpr-price-wrapper--offer {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1em;
}

.woocommerce-checkout .wpr-price-original {
    font-size: 0.85em;
    color: #9ca3af;
    text-decoration: line-through;
    font-weight: 400;
}

.woocommerce-checkout .wpr-price-offer {
    color: #dc2626;
    font-weight: 700;
    text-decoration: none;
}

/* Order-received / view-order total savings row (issue #717) */
.woocommerce-order-received table.woocommerce-table tfoot .wpr_total_savings th,
.woocommerce-order-received table.woocommerce-table tfoot .wpr_total_savings td,
.woocommerce-account table.woocommerce-table tfoot .wpr_total_savings th,
.woocommerce-account table.woocommerce-table tfoot .wpr_total_savings td {
    background: #f0fdf4;
    font-weight: 600;
    color: #15803d;
}

.wpr-savings-amount {
    color: #15803d;
    font-weight: 600;
}

/* Order-received / view-order offer display (issue #717) */
.woocommerce-order-received .wpr-price-wrapper--offer,
.woocommerce-account .wpr-price-wrapper--offer {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1em;
}

.woocommerce-order-received .wpr-price-original,
.woocommerce-account .wpr-price-original {
    font-size: 0.85em;
    color: #9ca3af;
    text-decoration: line-through;
    font-weight: 400;
}

.woocommerce-order-received .wpr-price-offer,
.woocommerce-account .wpr-price-offer {
    color: #dc2626;
    font-weight: 700;
    text-decoration: none;
}

.wpr-guest-details__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #e5e5e5;
    font-size: 0.95em;
}

.wpr-guest-details__item:last-child {
    border-bottom: none;
}

.wpr-guest-details__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: #888;
}

.wpr-guest-details__label {
    flex-shrink: 0;
    min-width: 70px;
    font-weight: 600;
    color: #555;
}

.wpr-guest-details__value {
    color: #333;
    word-break: break-word;
}

/* Suppress WooCommerce billing address â€” replaced by the plugin guest-details card. */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-customer-details {
    display: none;
}

/* Suppress WooCommerce standard thank-you notice paragraph on the order-received page. */
.woocommerce-order-received .woocommerce-thankyou-order-received {
    display: none;
}

/* Suppress WooCommerce order overview list â€” replaced by the plugin reservation summary card. */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-order-overview {
    display: none;
}

/* ==========================================================================
   Order Received: WooCommerce Order Details Table â€” Card Style
   ========================================================================== */

/* Card container wraps title + table as one unit */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-order-details {
    margin: 0 0 24px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
    overflow: hidden;
}

/* Title becomes the card header â€” extra specificity overrides theme h2 styles */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-order-details .woocommerce-order-details__title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    margin: 0;
    font-size: 1rem !important;
    font-weight: 600;
    color: #111827;
    border-bottom: 1px solid #e5e7eb;
}

/* Clipboard icon via CSS ::before */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-order-details__title::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230c2340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect x='9' y='3' width='6' height='4' rx='1'/%3E%3Cline x1='9' y1='12' x2='15' y2='12'/%3E%3Cline x1='9' y1='16' x2='13' y2='16'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* Table fills the card â€” no own border or radius */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
    font-size: 0.9375rem;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details thead tr th {
    background: #f9fafb;
    padding: 12px 16px;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details thead tr th:last-child {
    text-align: right;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tbody tr td {
    padding: 14px 16px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: top;
    color: #374151;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tbody tr:last-child td {
    border-bottom: none;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tbody .product-name {
    font-weight: 500;
    color: #111827;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tbody .product-total {
    text-align: right;
    font-weight: 500;
    white-space: nowrap;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr th,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr td {
    padding: 10px 16px;
    border-top: 1px solid #e5e7eb;
    font-size: 0.9375rem;
    color: #374151;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr:first-child th,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr:first-child td {
    border-top: 2px solid #e5e7eb;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr td {
    text-align: right;
}

:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot .order-total th,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot .order-total td {
    font-weight: 700;
    font-size: 1rem;
    color: #111827;
    border-top: 2px solid #e5e7eb;
}

/* Booking total row â€” shows the full accommodation cost */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot .booking-total th,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot .booking-total td {
    color: #374151;
    border-top: 2px solid #e5e7eb;
}

/* Pending balance row â€” amount to be paid at the hotel */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot .pending-balance th,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot .pending-balance td {
    color: #b45309;
    font-weight: 700;
    font-size: 1rem;
    border-top: 1px solid #e5e7eb;
}

@media ( max-width: 480px ) {
    .wpr-guest-details {
        padding: 16px;
    }
    .wpr-guest-details__label {
        min-width: 60px;
    }
    :is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details thead tr th,
    :is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tbody tr td,
    :is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr th,
    :is(.woocommerce-order-received, .woocommerce-account) .woocommerce-table--order-details tfoot tr td {
        padding-left: 12px;
        padding-right: 12px;
    }

    .roomcloud-cart__actions {
        margin-top: 0;
        text-align: center;
    }
}

/* ==========================================================================
   No Availability Card
   Shown when a search returns no rooms.
   ========================================================================== */

.wpr-no-availability {
    background-color: #ebf5fb;
    border: 1px solid #bee3f8;
    border-left: 4px solid #3182ce;
    border-radius: 6px;
    padding: 1.5rem 1.75rem;
    margin: 1rem 0;
}

.wpr-no-availability__title {
    margin: 0 0 0.75rem 0;
    padding: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #2c5282;
}

.wpr-no-availability__body {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #2d3748;
}

.wpr-no-availability__body a {
    color: #3182ce;
    text-decoration: underline;
}

.wpr-no-availability__body a:hover {
    color: #2c5282;
}

/* ==========================================================================
   No Search Notice Card
   Shown when the results page is loaded without search parameters.
   ========================================================================== */

.wpr-no-search-notice {
    background-color: #f0f4f8;
    border: 1px solid #cbd5e0;
    border-left: 4px solid #718096;
    border-radius: 6px;
    padding: 1.5rem 1.75rem;
    margin: 1rem 0;
}

.wpr-no-search-notice__title {
    margin: 0;
    padding: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #4a5568;
}

/* ==========================================================================
   Cart: Offer title line + Total Savings row
   ========================================================================== */

/* Offer title label shown below rate name (e.g. "-24% Hot Days + No Reemb.") */
.roomcloud-cart__rate-offer-title {
    display: block;
    font-size: 0.78em;
    font-weight: 600;
    color: #dc2626;
    margin-top: 0.15em;
    line-height: 1.3;
}

/* Total Savings highlighted row in cart totals */
.roomcloud-cart__savings {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #f0fdf4;
    margin: 0 -0.75em 0.5em;
    padding: 0.4em 0.75em;
    border-radius: 4px;
}

.roomcloud-cart__savings-label {
    font-size: 0.875em;
    font-weight: 600;
    color: #16a34a;
}

.roomcloud-cart__savings-value {
    font-size: 0.875em;
    font-weight: 700;
    color: #16a34a;
}

/* ==========================================================================
   Modal backdrop — bloquea clics y scroll del fondo mientras hay un modal abierto
   ========================================================================== */

body.wpr-modal-open {
    pointer-events: none;
    /* Bloquea el scroll de la página en desktop y Android.
       El bloqueo position:fixed (roomcloud-form.js) complementa esto para iOS
       donde overflow:hidden en body no siempre detiene el rubber-band scroll. */
    overflow: hidden;
    /* Evita scroll-chaining: que el scroll del modal "contagie" a la página. */
    overscroll-behavior: none;
}

body.wpr-modal-open .wpr-modal-overlay,
body.wpr-modal-open .wpr-step-modal,
body.wpr-modal-open .wpr-step-modal *,
body.wpr-modal-open .wpr-room-results__guest-modal,
body.wpr-modal-open .wpr-room-results__guest-modal *,
body.wpr-modal-open .wpr-rate-details-modal,
body.wpr-modal-open .wpr-rate-details-modal *,
body.wpr-modal-open .wpr-room-gallery-modal,
body.wpr-modal-open .wpr-room-gallery-modal *,
body.wpr-modal-open .roomcloud-cart__modal,
body.wpr-modal-open .roomcloud-cart__modal *,
body.wpr-modal-open .wpr-mobile-cart-bar,
body.wpr-modal-open .wpr-mobile-cart-bar * {
    pointer-events: auto;
}
    
