/* Offer panel — structural composition: header, divider, image + body layout.
 * Surface chrome (background, radius, padding) lives on the consumer
 * (e.g. homepage featured-offer section provides a full-width tint band). */

.ibv-offer-panel {
	display: flex;
	flex-direction: column;
	gap: var(--ibv-space-xl);
}

/* Optional in-panel header (homepage uses; special-offers page omits) */
.ibv-offer-panel__header {
	display: flex;
	flex-direction: column;
	gap: var(--ibv-space-md);
	align-items: flex-start;
	justify-content: space-between;
}

@media (min-width: 48rem) {
	.ibv-offer-panel__header {
		flex-direction: row;
		align-items: center;
	}
}

.ibv-offer-panel__section-title {
	font-size: var(--ibv-fs-h2);
	font-weight: var(--ibv-font-weight-regular);
	line-height: var(--ibv-lh-snug);
	letter-spacing: 0;
	margin: 0;
	color: var(--ibv-color-text);
}

.ibv-offer-panel__divider {
	height: 1px;
	border: 0;
	background: var(--ibv-color-forest-green-light);
	margin: 0;
	width: 100%;
}

/* Two-column layout */
.ibv-offer-panel__layout {
	display: flex;
	flex-direction: column;
	gap: var(--ibv-space-2xl);
}

@media (min-width: 56rem) {
	.ibv-offer-panel__layout {
		flex-direction: row;
		align-items: stretch;
		gap: 5rem; /* 80px — Figma column gap; no matching space token */
	}
}

/* Image */
.ibv-offer-panel__image {
	position: relative;
	display: block;
	flex: 1 1 50%;
	aspect-ratio: 552 / 363;
	border-radius: var(--ibv-radius-md);
	overflow: hidden;
	text-decoration: none;
}

.ibv-offer-panel__image-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ibv-offer-panel__location {
	position: absolute;
	inset-block-start: var(--ibv-space-sm);
	inset-inline-start: var(--ibv-space-sm);
	background: rgb(249 248 244 / 0.9);
	color: var(--ibv-color-link);
	border-radius: var(--ibv-radius-pill);
	padding: var(--ibv-space-2xs) var(--ibv-space-sm);
	font-size: var(--ibv-fs-eyebrow);
	font-weight: var(--ibv-font-weight-regular);
}

/* Body */
.ibv-offer-panel__body {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	gap: var(--ibv-space-md);
	align-items: flex-start;
}

.ibv-offer-panel__villa-name {
	font-family: var(--ibv-font-display);
	font-optical-sizing: auto;
	font-size: var(--ibv-fs-h2);
	font-weight: var(--ibv-font-weight-regular);
	line-height: var(--ibv-lh-snug);
	letter-spacing: 0;
	margin: 0;
}

.ibv-offer-panel__villa-name a {
	color: var(--ibv-color-text);
	text-decoration: none;
}

.ibv-offer-panel__villa-name a:hover,
.ibv-offer-panel__villa-name a:focus-visible {
	color: var(--ibv-color-link-hover);
}

.ibv-offer-panel__excerpt {
	font-size: var(--ibv-fs-small);
	line-height: var(--ibv-lh-relaxed);
	color: var(--ibv-color-text);
	margin: 0;
}

/* Real offer copy — villa-offers typography, boxed so it sits apart
   from the villa excerpt on the teal featured band. */
.ibv-offer-panel__offer {
	display: flex;
	flex-direction: column;
	gap: var(--ibv-space-sm);
	width: 100%;
	padding: var(--ibv-space-md);
	background: var(--ibv-color-off-white);
	border-radius: var(--ibv-radius-md);
}

.ibv-offer-panel__offer .ibv-villa-offers__desc,
.ibv-offer-panel__offer .ibv-villa-offers__desc p {
	font-size: var(--ibv-fs-small);
	line-height: var(--ibv-lh-relaxed);
}

.ibv-offer-panel__offer .ibv-villa-offers__desc > :last-child {
	margin-block-end: 0;
}

/* Pricing — Was/Now side by side */
.ibv-offer-panel__pricing {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ibv-space-xl);
	margin-block-start: var(--ibv-space-xs);
}

.ibv-offer-panel__price {
	display: flex;
	flex-direction: column;
	gap: var(--ibv-space-2xs);
}

.ibv-offer-panel__price-eyebrow {
	font-size: var(--ibv-fs-eyebrow);
	font-weight: var(--ibv-font-weight-bold);
	color: var(--ibv-color-text);
}

.ibv-offer-panel__price-line {
	display: flex;
	align-items: baseline;
	gap: var(--ibv-space-xs);
}

.ibv-offer-panel__price-prefix,
.ibv-offer-panel__price-suffix {
	font-family: var(--ibv-font-body);
	font-size: var(--ibv-fs-small);
	color: var(--ibv-color-text);
	font-weight: var(--ibv-font-weight-regular);
}

.ibv-offer-panel__price-amount {
	font-family: var(--ibv-font-display);
	font-optical-sizing: auto;
	font-size: 2rem; /* 32px — Figma in-panel pricing */
	font-weight: var(--ibv-font-weight-regular);
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--ibv-color-link);
}

/* Strikethrough on the Was amount only */
.ibv-offer-panel__price--was .ibv-offer-panel__price-amount {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	color: var(--ibv-color-link);
}

.ibv-offer-panel__price-mark {
	margin-inline-start: 0.1em;
}

.ibv-offer-panel__valid {
	margin: 0;
	font-size: var(--ibv-fs-small);
	line-height: var(--ibv-lh-relaxed);
	color: var(--ibv-color-text);
}

.ibv-offer-panel__body .ibv-button {
	margin-block-start: var(--ibv-space-xs);
	align-self: flex-start;
}

.ibv-offer-panel__footnote {
	margin: var(--ibv-space-sm) 0 0;
	font-size: var(--ibv-fs-small);
	color: var(--ibv-color-text-muted);
	font-style: italic;
}
