body.single-product.aar-reservations-active div.product.aar-builder-product {
	width: min(100%, var(--aar-product-max-width, 1380px));
	max-width: var(--aar-product-max-width, 1380px);
	margin-left: auto !important;
	margin-right: auto !important;
	padding: var(--aar-product-padding, 0);
	background: var(--aar-product-bg, #fff);
	border-radius: var(--aar-product-radius, 0);
}

body.single-product.aar-layout-builder div.product.aar-builder-product {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--aar-layout-gap, 48px);
	align-items: start;
}

body.single-product.aar-layout-builder div.product.aar-builder-product.aar-gallery-top {
	grid-template-columns: 1fr !important;
}

body.single-product.aar-layout-builder div.product.aar-builder-product .woocommerce-product-gallery,
body.single-product.aar-layout-builder div.product.aar-builder-product .summary {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}

body.single-product.aar-layout-builder div.product.aar-builder-product .summary {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

body.single-product.aar-layout-builder div.product.aar-builder-product form.cart {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	float: none !important;
	width: 100%;
}

body.single-product.aar-layout-builder div.product.aar-builder-product .woocommerce-tabs,
body.single-product.aar-layout-builder div.product.aar-builder-product .related,
body.single-product.aar-layout-builder div.product.aar-builder-product .upsells {
	grid-column: 1 / -1;
}

body.single-product.aar-reservations-active.aar-visual-editor-enabled .product_title {
	color: var(--aar-title-color, #111) !important;
	font-size: clamp(28px, var(--aar-title-size, 48px), 84px) !important;
	font-weight: var(--aar-title-weight, 500) !important;
	text-align: var(--aar-title-align, left) !important;
	line-height: 1.14 !important;
}

body.single-product.aar-reservations-active.aar-visual-editor-enabled .summary > .price {
	color: var(--aar-price-color, #e64a00) !important;
	font-size: var(--aar-price-size, 27px) !important;
	font-weight: var(--aar-price-weight, 700) !important;
}

body.single-product.aar-reservations-active.aar-visual-editor-enabled .summary > .price * {
	color: inherit !important;
}

.aar-public-availability {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	margin: 20px 0 28px;
	width: 100%;
	max-width: var(--aar-calendar-width, 440px);
	position: relative;
	z-index: 1;
}

.aar-public-availability > h3 {
	margin: 0 0 14px;
	font-size: 20px;
}

.aar-public-availability .aar-calendar,
.aar-booking-controls {
	max-width: var(--aar-calendar-width, 440px);
}

.aar-booking-controls {
	margin-top: 20px;
}

.aar-time-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.aar-time-grid label {
	display: grid;
	gap: 7px;
	font-weight: 600;
}

.aar-time-grid select {
	width: 100%;
	min-height: 44px;
	border: 1px solid #d7d7d7;
	border-radius: var(--aar-button-radius, 6px);
	padding: 8px 12px;
	background: #fff;
}

.aar-booking-summary {
	margin-top: 14px;
	padding: 14px 16px;
	border: 1px solid var(--aar-summary-border, #dfe7f2);
	border-left: 4px solid var(--aar-selected, #6595d3);
	border-radius: 7px;
	background: var(--aar-summary-bg, #f8fbff);
	display: grid;
	gap: 5px;
}

.aar-booking-summary[hidden] { display: none !important; }
.aar-summary-price { font-size: 16px; }
.aar-native-date-hidden { display: none !important; }
.aar-dynamic-price { display: inline-block; }

.aar-price-days {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	font-weight: 400;
	opacity: .72;
}

.aar-extras-box {
	margin: 18px 0;
	padding: 16px 18px;
	border: 1px solid var(--aar-extras-border, #e3e3e3);
	border-radius: var(--aar-extras-radius, 6px);
	background: var(--aar-extras-bg, #fafafa);
}

.aar-extras-title { margin: 0 0 12px; font-size: 18px; }
.aar-extras-list { display: grid; gap: 12px; }
.aar-extra-item { padding-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,.08); }
.aar-extra-item:last-child { padding-bottom: 0; border-bottom: 0; }
.aar-extra-option { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 15px; }
.aar-extra-option input { margin-top: 4px; }
.aar-extra-automatic { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.aar-extra-price { font-size: 13px; font-weight: 600; color: #555; }
.aar-extra-help { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: #666; }

body.single-product.aar-reservations-active.aar-visual-editor-enabled form.cart .single_add_to_cart_button {
	min-height: var(--aar-button-height, 46px) !important;
	border-radius: var(--aar-button-radius, 6px) !important;
	background: var(--aar-button-bg, #96c49d) !important;
	color: var(--aar-button-text, #fff) !important;
	font-size: var(--aar-button-font-size, 16px) !important;
	font-weight: var(--aar-button-font-weight, 700) !important;
	border: 0 !important;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}

body.single-product.aar-reservations-active.aar-visual-editor-enabled form.cart .single_add_to_cart_button:hover,
body.single-product.aar-reservations-active.aar-visual-editor-enabled form.cart .single_add_to_cart_button:focus {
	background: var(--aar-button-bg-hover, #79aa82) !important;
	color: var(--aar-button-text-hover, #fff) !important;
	transform: translateY(-1px);
}

@media (max-width: 767px) {
	.aar-public-availability,
	.aar-booking-controls,
	.aar-public-availability .aar-calendar {
		max-width: 100%;
	}

	.aar-time-grid {
		grid-template-columns: 1fr;
	}

	.aar-calendar-legend {
		gap: 10px 14px;
	}

	.aar-calendar-legend span {
		font-size: 13px;
	}
}
.aar-summary-price{display:grid;gap:3px;margin-top:4px}.aar-summary-price strong{margin-top:2px}

/* Estado de selección y resumen ampliado 7.0 */
.aar-extras-box[hidden],
.aar-booking-summary[hidden] {
	display: none !important;
}

.aar-public-availability > .aar-booking-summary {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.aar-public-availability.aar-has-selection > .aar-booking-summary {
	grid-column: 1 / -1;
}

.aar-summary-heading {
	margin: 0 0 14px;
	font-size: 18px;
	line-height: 1.3;
}

.aar-summary-overview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.aar-summary-overview > div {
	display: grid;
	gap: 3px;
	padding: 10px 12px;
	border-radius: 6px;
	background: rgba(255,255,255,.72);
}

.aar-summary-label {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .66;
}

.aar-summary-section-title {
	margin: 14px 0 6px;
	font-weight: 700;
}

.aar-summary-tariffs ul,
.aar-summary-extras ul {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aar-summary-tariffs li,
.aar-summary-extras li,
.aar-summary-price > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
}

.aar-summary-price {
	display: grid;
	gap: 8px;
	margin-top: 16px;
	padding-top: 13px;
	border-top: 1px solid rgba(0,0,0,.1);
}

.aar-summary-total {
	font-size: 18px;
}

.aar-summary-total strong {
	font-size: 22px;
}

@media (max-width: 767px) {
	.aar-summary-overview {
		grid-template-columns: 1fr;
	}
}
