/**
 * Pabe Holidays base styles and components, built only from tokens.css.
 * Mirrors Figma page "09 — UI Components and Interaction States".
 * Elementor widgets can use these via the "CSS Classes" field (e.g. pabe-btn pabe-btn--primary).
 */

/* ---------- Base ---------- */
body {
	background: var(--pabe-surface);
	color: var(--pabe-text);
	font-family: var(--pabe-font-body);
	font-size: var(--pabe-text-body);
	line-height: var(--pabe-leading-body);
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
.pabe-display {
	font-family: var(--pabe-font-display);
	font-weight: var(--pabe-weight-regular);
	color: inherit;
}

h1,
.pabe-hero-title {
	font-size: var(--pabe-text-hero);
	line-height: var(--pabe-leading-display);
	letter-spacing: var(--pabe-tracking-display);
}

h2,
.pabe-h2 {
	font-size: var(--pabe-text-h2);
	line-height: var(--pabe-leading-display);
	letter-spacing: var(--pabe-tracking-display);
}

h3,
.pabe-h3 {
	font-size: var(--pabe-text-h3);
	line-height: var(--pabe-leading-heading);
}

.pabe-lead {
	max-width: var(--pabe-measure);
	font-size: var(--pabe-text-lead);
	line-height: var(--pabe-leading-body);
}

a {
	color: var(--pabe-text-strong);
	text-underline-offset: 0.25em;
}

:focus-visible {
	outline: 2px solid var(--pabe-focus);
	outline-offset: 2px;
}

.pabe-inverse :focus-visible {
	outline-color: var(--pabe-focus-inverse);
}

/* ---------- Layout ---------- */
.pabe-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--pabe-container);
	margin-inline: auto;
	padding-inline: var(--pabe-inset);
}

.pabe-section {
	padding-block: var(--pabe-section-y);
}

.pabe-section--alt {
	background: var(--pabe-surface-alt);
}

.pabe-inverse {
	background: var(--pabe-surface-inverse);
	color: var(--pabe-text-inverse);
}

.pabe-section-intro {
	display: grid;
	gap: var(--pabe-space-16);
	margin-bottom: var(--pabe-space-40);
}

.pabe-section-intro > * {
	margin: 0;
}

.pabe-rule {
	height: var(--pabe-rule);
	border: 0;
	margin: 0;
	background: var(--pabe-border);
}

.pabe-rule--gold {
	background: var(--pabe-accent);
}

/* ---------- Eyebrow / meta ---------- */
.pabe-eyebrow {
	display: block;
	margin: 0;
	font-size: var(--pabe-text-eyebrow);
	font-weight: var(--pabe-weight-medium);
	line-height: var(--pabe-leading-eyebrow);
	letter-spacing: var(--pabe-tracking-eyebrow);
	color: var(--pabe-text-secondary);
}

.pabe-inverse .pabe-eyebrow {
	color: var(--pabe-text-accent-inverse);
}

.pabe-meta {
	margin: 0;
	font-size: var(--pabe-text-label);
	line-height: 1.5;
	color: var(--pabe-text-secondary);
}

/* ---------- Buttons ---------- */
.pabe-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--pabe-space-12);
	min-width: var(--pabe-target-min);
	height: var(--pabe-control-height);
	padding: 0 22px;
	border: var(--pabe-rule) solid transparent;
	border-radius: var(--pabe-radius-control);
	background: transparent;
	color: var(--pabe-text-strong);
	font-family: var(--pabe-font-body);
	font-size: var(--pabe-text-ui);
	font-weight: var(--pabe-weight-medium);
	line-height: var(--pabe-leading-ui);
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--pabe-duration-line) ease-out, border-color var(--pabe-duration-line) ease-out;
}

.pabe-btn:focus-visible {
	outline: 2px solid var(--pabe-focus);
	outline-offset: 2px;
}

/* Primary: ink fill; hover charcoal. */
.pabe-btn--primary {
	background: var(--pabe-color-ink);
	color: var(--pabe-text-inverse);
}

.pabe-btn--primary:hover {
	background: var(--pabe-color-charcoal);
	color: var(--pabe-text-inverse);
}

/* Secondary: ink outline; hover gold outline. */
.pabe-btn--secondary {
	border-color: var(--pabe-border-strong);
}

.pabe-btn--secondary:hover {
	border-color: var(--pabe-accent);
}

/* Text link: gold hairline appears on hover. */
.pabe-btn--text {
	position: relative;
}

.pabe-btn--text::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -6px;
	left: 0;
	height: var(--pabe-rule);
	background: var(--pabe-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--pabe-duration-line) ease-out;
}

.pabe-btn--text:hover::after {
	transform: scaleX(1);
}

/* On dark imagery (hero): white fill / white outline. */
.pabe-btn--light {
	background: var(--pabe-color-white);
	color: var(--pabe-color-ink);
}

.pabe-btn--outline-light {
	border-color: var(--pabe-color-white);
	color: var(--pabe-color-white);
}

.pabe-btn--light:focus-visible,
.pabe-btn--outline-light:focus-visible {
	outline-color: var(--pabe-focus-inverse);
}

/* Disabled and loading block duplicate submission. */
.pabe-btn:disabled,
.pabe-btn[aria-disabled="true"] {
	background: var(--pabe-surface-disabled);
	color: var(--pabe-text-disabled);
	cursor: not-allowed;
}

.pabe-btn--secondary:disabled,
.pabe-btn--secondary[aria-disabled="true"] {
	border-color: var(--pabe-border-strong);
}

.pabe-btn[aria-busy="true"] {
	pointer-events: none;
}

.pabe-btn__spinner {
	width: 16px;
	height: 16px;
	animation: pabe-spin 0.9s linear infinite;
}

@keyframes pabe-spin {

	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {

	.pabe-btn__spinner {
		animation: none;
	}
}

/* ---------- Navigation ---------- */
.pabe-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pabe-space-24);
	height: 100px;
	padding-inline: var(--pabe-space-40);
	background: var(--pabe-surface);
}

.pabe-wordmark {
	display: grid;
	gap: var(--pabe-space-4);
	color: var(--pabe-text-strong);
	text-decoration: none;
}

.pabe-wordmark__name {
	font-family: var(--pabe-font-display);
	font-size: 32px;
	font-weight: var(--pabe-weight-medium);
	line-height: 1;
	letter-spacing: -0.5px;
	white-space: nowrap;
}

.pabe-wordmark__slogan {
	font-size: 8px;
	line-height: 1.5;
	letter-spacing: var(--pabe-tracking-eyebrow);
	color: var(--pabe-text-secondary);
	white-space: nowrap;
}

.pabe-nav__links {
	display: flex;
	gap: 16px; /* 19px in Figma; tightened for the ninth item, Car Hire */
	margin: 0;
	padding: 0;
	list-style: none;
}

.pabe-nav__links a {
	display: inline-block;
	padding-bottom: 7px;
	border-bottom: var(--pabe-rule) solid transparent;
	font-size: var(--pabe-text-label);
	color: var(--pabe-text-strong);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color var(--pabe-duration-line) ease-out;
}

.pabe-nav__links a:hover,
.pabe-nav__links a[aria-current="page"] {
	border-bottom-color: var(--pabe-accent);
}

.pabe-nav__actions {
	display: flex;
	align-items: center;
	gap: var(--pabe-space-20);
	font-size: var(--pabe-text-eyebrow);
	white-space: nowrap;
}

/* ---------- Form fields (boxed) ---------- */
.pabe-field {
	display: grid;
	gap: var(--pabe-space-8);
}

.pabe-field__label {
	font-size: var(--pabe-text-label);
	font-weight: var(--pabe-weight-medium);
	color: var(--pabe-text);
}

.pabe-input {
	box-sizing: border-box;
	width: 100%;
	height: var(--pabe-field-height);
	padding: 14px;
	border: var(--pabe-rule) solid var(--pabe-border);
	border-radius: var(--pabe-radius-control);
	background: var(--pabe-surface);
	color: var(--pabe-text);
	font-family: var(--pabe-font-body);
	font-size: var(--pabe-text-card);
}

.pabe-input:focus-visible {
	padding: 13px;
	border: 2px solid var(--pabe-focus);
	outline: none;
}

.pabe-input[aria-invalid="true"] {
	border-color: var(--pabe-text-strong);
}

select.pabe-input {
	appearance: none;
	padding-right: 42px;
	background: var(--pabe-surface) url("../icons/chevron-down.svg") no-repeat right 14px center;
}

.pabe-field__error {
	margin: 0;
	font-size: var(--pabe-text-label);
	color: var(--pabe-text-strong);
}

/* ---------- Journey finder (underlined fields) ---------- */
.pabe-finder {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pabe-space-32);
	padding-block: 36px;
	border-bottom: var(--pabe-rule) solid var(--pabe-border);
	background: var(--pabe-surface);
}

.pabe-finder__field {
	display: grid;
	flex: 1 1 220px;
	gap: var(--pabe-space-12);
}

.pabe-finder__field label {
	font-size: var(--pabe-text-label);
	font-weight: var(--pabe-weight-medium);
	color: var(--pabe-text-strong);
}

.pabe-finder__control {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--pabe-target-min);
	padding: 0 24px 12px 0;
	border: 0;
	border-bottom: var(--pabe-rule) solid var(--pabe-border);
	border-radius: 0;
	appearance: none;
	background: transparent url("../icons/chevron-down-finder.svg") no-repeat right 0 top 2px;
	color: var(--pabe-text-secondary);
	font-family: var(--pabe-font-body);
	font-size: var(--pabe-text-ui);
}

.pabe-finder__control--date {
	background-image: url("../icons/calendar-days-finder.svg");
}

.pabe-finder__control:focus-visible {
	border-bottom-color: var(--pabe-focus);
	outline: none;
	box-shadow: 0 1px 0 var(--pabe-focus);
}

/* ---------- Cards ---------- */
.pabe-media {
	overflow: hidden;
	border-radius: var(--pabe-radius-media);
}

.pabe-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--pabe-duration-zoom) var(--pabe-ease-out);
}

.pabe-dest-card:hover .pabe-media img,
.pabe-tour-card:hover .pabe-media img {
	transform: scale(var(--pabe-zoom-scale));
}

/* Destination: large photograph, place name, quiet detail. */
.pabe-dest-card {
	display: grid;
	gap: var(--pabe-space-16);
	color: var(--pabe-text-strong);
	text-decoration: none;
}

.pabe-dest-card .pabe-media {
	aspect-ratio: 464 / 370;
}

.pabe-dest-card__heading {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.pabe-dest-card__title {
	flex: 1;
	margin: 0;
	font-family: var(--pabe-font-display);
	font-size: var(--pabe-text-place);
	font-weight: var(--pabe-weight-regular);
	line-height: var(--pabe-leading-heading);
}

/* Tour: white panel, 1px border, duration, overview, indicative price, two actions. */
.pabe-tour-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: var(--pabe-rule) solid var(--pabe-border);
	border-radius: var(--pabe-radius-media);
	background: var(--pabe-surface);
}

.pabe-tour-card .pabe-media {
	aspect-ratio: 464 / 300;
	border-radius: 0;
}

.pabe-tour-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--pabe-space-20);
	padding: var(--pabe-space-24);
}

.pabe-tour-card__body > * {
	margin: 0;
}

.pabe-tour-card__region {
	font-size: var(--pabe-text-eyebrow);
	line-height: 1.6;
	letter-spacing: var(--pabe-tracking-meta);
	color: var(--pabe-text-secondary);
}

.pabe-tour-card__title {
	font-family: var(--pabe-font-display);
	font-size: var(--pabe-text-card-title);
	font-weight: var(--pabe-weight-regular);
	line-height: var(--pabe-leading-heading);
	color: var(--pabe-text-strong);
}

.pabe-tour-card__duration {
	font-size: var(--pabe-text-ui);
}

.pabe-tour-card__overview {
	min-height: 72px;
	font-size: var(--pabe-text-card);
	line-height: var(--pabe-leading-body);
}

.pabe-tour-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* ---------- Price ---------- */
.pabe-price {
	display: grid;
	gap: 5px;
}

.pabe-price__note {
	font-size: var(--pabe-text-eyebrow);
	color: var(--pabe-text-secondary);
}

.pabe-price__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--pabe-space-8);
}

.pabe-price__amount {
	font-family: var(--pabe-font-display);
	font-size: var(--pabe-text-price);
	line-height: 1.2;
	color: var(--pabe-text-strong);
}

.pabe-price__unit {
	font-size: var(--pabe-text-eyebrow);
	color: var(--pabe-text-secondary);
}

/* ---------- Hero ---------- */
.pabe-hero {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--pabe-space-48);
	min-height: 740px;
	padding: 150px var(--pabe-inset) var(--pabe-space-32);
	overflow: hidden;
	background: var(--pabe-color-ink);
	color: var(--pabe-text-inverse);
}

.pabe-hero__image,
.pabe-hero::after {
	position: absolute;
	inset: 0;
}

.pabe-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Readability scrim: ink at 34%. */
.pabe-hero::after {
	content: "";
	background: var(--pabe-color-ink);
	opacity: 0.34;
}

.pabe-hero > :not(.pabe-hero__image) {
	position: relative;
	z-index: 1;
}

.pabe-hero__content {
	display: grid;
	gap: 28px;
	max-width: 1160px;
}

.pabe-hero__content > * {
	margin: 0;
}

.pabe-hero .pabe-eyebrow {
	color: var(--pabe-text-inverse);
}

.pabe-hero__copy {
	max-width: 550px;
	font-size: var(--pabe-text-lead);
	color: var(--pabe-text-inverse-secondary);
}

.pabe-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pabe-space-12);
}

.pabe-hero__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--pabe-space-16);
	font-size: var(--pabe-text-eyebrow);
	letter-spacing: var(--pabe-tracking-meta);
	text-transform: uppercase;
}

.pabe-hero__location {
	display: inline-flex;
	align-items: center;
	gap: var(--pabe-space-8);
}

/* ---------- Hero slider ----------
 * Built-in fallback for the Slider Revolution hero (docs/revolution-slider.md), same look and timings.
 * Slides stack in one grid cell so the hero grows to the tallest slide. Each slide has its own image,
 * scrim and content; [data-transition] picks how it enters: fade, zoom or curtain. The active dot's
 * progress bar runs for the slide's duration and its animationend advances the slider, so pausing
 * the animation pauses the timing too. Without JavaScript only the first slide shows. */
.pabe-hero.pabe-slider {
	display: grid;
	grid-template-columns: minmax(0, 1fr); /* Full width; the base hero's space-between would shrink the column. */
	min-height: 0;
	padding: 0;
}

/* The overlay shares the slides' grid cell, so the hero grows when the overlay content is taller. */
.pabe-slider > .pabe-slider__stage,
.pabe-slider > .pabe-slider__overlay {
	grid-area: 1 / 1;
}

.pabe-hero.pabe-slider::after {
	display: none;
}

.pabe-slider__stage {
	display: grid;
	min-height: 740px;
}

.pabe-slide {
	box-sizing: border-box;
	position: relative;
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 150px var(--pabe-inset) 120px;
	overflow: hidden;
	visibility: hidden;
	z-index: 0;
}

.pabe-slide.is-active {
	visibility: visible;
	z-index: 2;
}

.pabe-slide.is-leaving {
	visibility: visible;
	z-index: 1;
}

.pabe-slide__image,
.pabe-slide::after {
	position: absolute;
	inset: 0;
}

.pabe-slide__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: var(--pabe-kb-origin, 50% 50%);
}

.pabe-slide::after {
	content: "";
	background: linear-gradient(90deg, rgb(10 10 10 / 62%) 0%, rgb(10 10 10 / 28%) 60%, rgb(10 10 10 / 18%) 100%);
}

.pabe-slide > :not(.pabe-slide__image) {
	position: relative;
	z-index: 1;
}

.pabe-slider > .pabe-slider__overlay {
	box-sizing: border-box;
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 150px var(--pabe-inset) 120px;
	pointer-events: none;
}

.pabe-slider__overlay > * {
	pointer-events: auto;
}

.pabe-slider > .pabe-slider__bar {
	box-sizing: border-box;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 4;
	align-items: center;
	padding: 0 var(--pabe-inset) var(--pabe-space-32);
}

.pabe-slider__nav {
	display: flex;
	align-items: center;
	gap: var(--pabe-space-12);
}

.pabe-slider__dot {
	display: grid;
	gap: var(--pabe-space-8);
	width: 84px;
	min-height: var(--pabe-target-min);
	align-content: center;
	padding: 0;
	border: 0;
	background: none;
	color: var(--pabe-text-inverse-secondary);
	font: inherit;
	font-size: var(--pabe-text-eyebrow);
	letter-spacing: var(--pabe-tracking-meta);
	text-align: left;
	text-transform: uppercase;
	cursor: pointer;
}

.pabe-slider__dot[aria-current="true"] {
	color: var(--pabe-text-inverse);
}

.pabe-slider__track {
	display: block;
	height: 2px;
	background: rgb(255 255 255 / 28%);
}

.pabe-slider__progress {
	display: block;
	width: 0;
	height: 100%;
	background: var(--pabe-color-champagne);
}

.pabe-slider__dot[aria-current="true"] .pabe-slider__progress {
	animation: pabe-progress var(--pabe-slide-ms, 7000ms) linear forwards;
}

.pabe-slider.is-paused .pabe-slider__progress,
.pabe-slider.is-paused .pabe-slide__image {
	animation-play-state: paused;
}

.pabe-slider__toggle {
	min-width: var(--pabe-target-min);
	min-height: var(--pabe-target-min);
	padding: 0 var(--pabe-space-12);
	border: var(--pabe-rule) solid rgb(255 255 255 / 45%);
	border-radius: var(--pabe-radius-control);
	background: transparent;
	color: var(--pabe-text-inverse);
	font: inherit;
	font-size: var(--pabe-text-eyebrow);
	letter-spacing: var(--pabe-tracking-meta);
	text-transform: uppercase;
	cursor: pointer;
}

/* Dots switched off in Elementor: they stay in the page (their progress bars keep the timing) but are not shown. */
.pabe-slider--no-dots .pabe-slider__dot {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

/* Ken Burns: the active slide drifts slowly for the length of the slide plus its entrance. */
.pabe-slide.is-active .pabe-slide__image {
	animation: pabe-kenburns calc(var(--pabe-slide-ms, 7000ms) + 1600ms) ease-out forwards;
}

.pabe-slide.is-active[data-transition="fade"] {
	animation: pabe-fade-in 1200ms ease forwards;
}

.pabe-slide.is-active[data-transition="zoom"] {
	animation: pabe-zoom-in 1400ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.pabe-slide.is-active[data-transition="curtain"] {
	animation: pabe-curtain 1300ms cubic-bezier(0.77, 0, 0.18, 1) forwards;
}

/* Layers arrive one after another: eyebrow, title, copy, buttons. */
.pabe-slider.is-ready .pabe-slide .pabe-hero__content > * {
	opacity: 0;
}

.pabe-slider.is-ready .pabe-slide.is-active .pabe-hero__content > * {
	animation: pabe-rise 900ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.pabe-slide.is-active .pabe-hero__content > :nth-child(1) { animation-delay: 500ms; }
.pabe-slide.is-active .pabe-hero__content > :nth-child(2) { animation-delay: 650ms; }
.pabe-slide.is-active .pabe-hero__content > :nth-child(3) { animation-delay: 850ms; }
.pabe-slide.is-active .pabe-hero__content > :nth-child(4) { animation-delay: 1000ms; }

@keyframes pabe-progress {
	to { width: 100%; }
}

@keyframes pabe-kenburns {
	from { transform: scale(1); }
	to { transform: scale(1.1); }
}

@keyframes pabe-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes pabe-zoom-in {
	from { opacity: 0; transform: scale(1.06); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes pabe-curtain {
	from { clip-path: inset(0 100% 0 0); }
	to { clip-path: inset(0 0 0 0); }
}

@keyframes pabe-rise {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {

	.pabe-slide.is-active,
	.pabe-slide.is-active .pabe-slide__image,
	.pabe-slider.is-ready .pabe-slide.is-active .pabe-hero__content > * {
		animation: none;
		opacity: 1;
	}
}

@media (max-width: 599px) {

	.pabe-slider__stage {
		min-height: 640px;
	}

	.pabe-slide,
	.pabe-slider > .pabe-slider__overlay {
		justify-content: flex-end;
		padding: 120px var(--pabe-space-24) 140px;
	}

	.pabe-slider > .pabe-slider__bar {
		padding: 0 var(--pabe-space-24) var(--pabe-space-24);
	}

	.pabe-slider__nav {
		gap: var(--pabe-space-8);
	}

	.pabe-slider__dot {
		width: 36px;
	}

	.pabe-slider__dot span:first-child {
		display: none;
	}
}

/* Compact menu trigger (Figma "Viewport=Tablet/Mobile"); the menu itself is Elementor's nav widget. */
.pabe-nav__menu {
	display: none;
	align-items: center;
	justify-content: center;
	gap: var(--pabe-space-8);
	min-width: var(--pabe-target-min);
	height: var(--pabe-target-min);
	padding: 0 var(--pabe-space-12);
	border: var(--pabe-rule) solid var(--pabe-border-strong);
	border-radius: var(--pabe-radius-control);
	background: transparent;
	color: var(--pabe-text-strong);
	font-family: var(--pabe-font-body);
	font-size: var(--pabe-text-ui);
	font-weight: var(--pabe-weight-medium);
	cursor: pointer;
}

@media (max-width: 1199px) {

	.pabe-nav__links {
		display: none;
	}

	.pabe-nav__menu {
		display: inline-flex;
	}
}

@media (max-width: 599px) {

	.pabe-nav {
		height: 84px;
		padding-inline: var(--pabe-space-24);
	}

	.pabe-nav__actions > :not(.pabe-nav__menu) {
		display: none;
	}

	.pabe-hero {
		min-height: 0;
		padding-top: var(--pabe-space-80);
	}

	.pabe-hero__actions,
	.pabe-tour-card__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.pabe-finder__field {
		flex-basis: 100%;
	}
}

/* ---------- Elementor compatibility ----------
 * Elementor's frontend sets ".elementor img { height: auto; max-width: 100% }", which outranks the
 * cover-photo rules above inside Elementor pages and leaves photos short of their frame. */
.elementor .pabe-slide__image,
.elementor .pabe-hero__image,
.elementor .pabe-page-hero > img,
.elementor .pabe-photo-card > img,
.elementor .pabe-hero-split__media > img,
.elementor .pabe-story__media img,
.elementor .pabe-team__photo img,
.elementor .pabe-person__photo img,
.elementor .pabe-note__photo img {
	height: 100%;
	max-width: none;
}
