/* 0.1.23 — Gutenberg editorial Page architecture reference implementation. */
.va-gutenberg-page { --va-editorial-content-width: 920px; }
.va-gutenberg-page > * { margin-block-start: 0; margin-block-end: 0; }
.va-gutenberg-page .wp-block-group { box-sizing: border-box; }

/* 0.1.24 — Gutenberg hero centering: make the full hero width the flex alignment context.
   This keeps the caption geometrically centered when the desktop sidebar is collapsed. */
.va-gutenberg-hero {
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
}
.va-gutenberg-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 20, 43, .45);
}
.va-editorial-hero-media {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
}
.va-editorial-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.va-the-island-page .va-the-island-hero .va-editorial-hero-media img {
  object-fit: cover;
  object-position: center center;
}
.va-gutenberg-hero .va-editorial-hero-copy {
  z-index: 2;
  flex: 0 1 var(--va-editorial-content-width);
  width: min(var(--va-editorial-content-width), 100%);
  max-width: var(--va-editorial-content-width);
  margin-inline: auto;
  text-align: center;
}

.wp-block-image.va-feature-row-media {
  overflow: hidden;
  background-image: none;
}
.wp-block-image.va-feature-row-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--va-feature-position, center center);
}
.va-feature-row .wp-block-group__inner-container,
.va-page-stats .wp-block-group__inner-container { display: contents; }

/* Keep stretched island experience cards fully covered by their colored copy panel. */
.va-the-island-page .va-gutenberg-the-island-experience-grid .va-the-island-experience-copy {
  flex: 1 1 auto;
}

.va-accommodation-info-grid .va-stat-card { position: relative; padding-top: 68px; }
.va-visitor-info-card__icon {
  position: absolute;
  top: 24px;
  left: 24px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 8px;
}
.va-visitor-info-card__icon img {
  display: block;
  width: 20px;
  height: 20px;
}
.va-visitor-info-card__icon--map-pin { background: #fff2cd; }
.va-visitor-info-card__icon--home,
.va-visitor-info-card__icon--car { background: #e9f5fb; }
.va-visitor-info-card__icon--calendar { background: #dfffed; }

.va-plan-trip-gutenberg { position: relative; isolation:isolate; overflow:hidden; background-image:none; }
.va-plan-trip-gutenberg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(0,0,0,.60);
}
.va-plan-trip-media {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  margin: 0;
}
.va-plan-trip-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.va-plan-trip-gutenberg > .wp-block-group { width:min(var(--va-editorial-content-width),100%); }
.va-plan-trip-gutenberg .wp-block-buttons { margin-top:30px; justify-content:center; }
.va-plan-trip-gutenberg .wp-block-button__link {
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 60px;
  background: var(--va-blue);
  color: #fff;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.2);
  transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-button.va-button-block .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 13px 24px;
  border-radius: 60px;
  background: var(--va-blue);
  color: #fff;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.2);
  transition: transform .2s ease, box-shadow .2s ease;
}
.va-plan-trip-gutenberg .wp-block-button__link:hover, .wp-block-button.va-button-block .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(35,167,250,.25); }

@media (max-width: 560px) {
  .va-accommodation-info-grid .va-stat-card { padding-top:62px; }
  .va-visitor-info-card__icon { top:20px; left:20px; width:36px; height:36px; }
  .va-visitor-info-card__icon img { width:20px; height:20px; }
}

/* 0.1.26 — remaining Figma editorial Pages moved into Gutenberg. */
.va-gutenberg-intro {
  padding: clamp(58px, 6vw, 88px) clamp(24px, 7vw, 100px);
  text-align: center;
  background: #fff;
}
.va-gutenberg-intro.va-hub-intro {
  padding-top: clamp(28px, 3vw, 40px);
  padding-bottom: 0;
}
.va-gutenberg-intro:has(+ .va-gutenberg-longform) {
  padding-bottom: clamp(24px, 2vw, 32px);
}
.va-gutenberg-intro > h2,
.va-gutenberg-intro > p {
  width: min(var(--va-editorial-content-width), 100%);
  margin-inline: auto;
}
.va-gutenberg-intro h2 {
  margin-top: 0;
  margin-bottom: 18px;
  color: var(--va-dark-blue);
  font: 800 clamp(32px, 3.5vw, 44px)/1.15 "Sofia Sans", sans-serif;
}
.va-gutenberg-intro p {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--va-body);
  font: 500 16px/1.8 "Manrope", sans-serif;
}

/* Museums intro mirrors the light-blue statement treatment used on The Island. */
.va-museums-page > .va-gutenberg-intro {
  min-height: 318px;
  padding: 64px 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #eef6fa;
}
.va-museums-page > .va-gutenberg-intro > .wp-block-group__inner-container {
  display: contents;
}
.va-museums-page > .va-gutenberg-intro > h2,
.va-museums-page > .va-gutenberg-intro > p {
  width: min(916px, 100%);
}
.va-museums-page > .va-gutenberg-intro > p {
  color: #1a437c;
  font: 700 24px/38px "Manrope", sans-serif;
  letter-spacing: -.48px;
}

.va-gutenberg-dynamic-section .va-section-head-centered > p:not(.va-eyebrow) {
  width: min(var(--va-editorial-content-width), 100%);
  margin-inline: auto;
}
.va-gutenberg-dynamic-section .va-beaches-grid,
.va-gutenberg-dynamic-section .va-related-grid {
  margin-top: 40px;
}
.va-feature-row .wp-block-buttons {
  margin-top: 24px;
}
.va-feature-row .wp-block-button__link {
  min-height: 52px;
  padding: 13px 24px;
  border-radius: 60px;
  background: var(--va-blue);
  color: #fff;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.va-feature-row .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(35,167,250,.25);
}
.va-gutenberg-wide-photo.wp-block-image {
  margin: 0;
}
.va-gutenberg-entity-feature {
  margin: 0;
}
@media (max-width: 1080px) {
  .va-museums-page > .va-gutenberg-intro {
    min-height: 0;
    padding: 56px 44px;
  }
  .va-museums-page > .va-gutenberg-intro > p {
    font-size: 21px;
    line-height: 34px;
  }
}
@media (max-width: 560px) {
  .va-gutenberg-intro,
  .va-gutenberg-dynamic-section {
    padding-left: 20px;
    padding-right: 20px;
  }
  .va-museums-page > .va-gutenberg-intro {
    padding: 48px 22px;
  }
  .va-museums-page > .va-gutenberg-intro > p {
    font-size: 19px;
    line-height: 31px;
  }
  .va-feature-row .wp-block-button,
  .va-feature-row .wp-block-button__link {
    width: 100%;
  }
}
@media (max-width: 360px) {
  .va-gutenberg-intro,
  .va-gutenberg-dynamic-section {
    padding-left: 16px;
    padding-right: 16px;
  }
}


/* 0.1.27 — Homepage editorial composition moved into Gutenberg. */
.va-home-gutenberg-page > * { margin-block: 0; }

.va-home-gutenberg-hero .va-hero-content h1 {
  width: min(780px, 92%);
  font-size: clamp(56px, 6.2vw, 76px);
  line-height: 1.15;
}

.va-home-gutenberg-intro .wp-block-group__inner-container,
.va-home-gutenberg-marine .wp-block-group__inner-container,
.va-home-gutenberg-experiences .wp-block-group__inner-container,
.va-home-gutenberg-places .wp-block-group__inner-container {
  display: contents;
}

.va-home-gutenberg-intro .va-home-intro-media,
.va-home-gutenberg-marine .va-home-marine-media {
  margin: 0;
  overflow: hidden;
}
.va-home-gutenberg-intro .va-home-intro-media img,
.va-home-gutenberg-marine .va-home-marine-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.va-home-gutenberg-intro .va-home-intro-media img { object-position: center center; }
.va-home-gutenberg-marine .va-home-marine-media img { object-position: center 45%; }

.va-home-gutenberg-intro .va-pills {
  display: flex;
  flex-wrap: wrap;
}
.va-home-gutenberg-intro .va-pills p {
  margin: 0;
  padding: 8px 12px;
  border: 1px solid rgba(35,167,250,.2);
  border-radius: 12px;
  background: rgba(255,255,255,.55);
  color: var(--va-blue);
  font: 700 16px/1.5 "Sofia Sans", sans-serif;
}

.va-home-gutenberg-intro .wp-block-buttons,
.va-home-gutenberg-marine .wp-block-buttons,
.va-home-gutenberg-underwater .wp-block-buttons,
.va-home-gutenberg-experiences .wp-block-buttons {
  margin-top: 28px;
}
.va-home-gutenberg-intro .wp-block-button__link,
.va-home-gutenberg-marine .wp-block-button__link,
.va-home-gutenberg-underwater .wp-block-button__link,
.va-home-gutenberg-experiences .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 13px 24px;
  border-radius: 60px;
  background: var(--va-blue);
  color: #fff;
  font: 600 16px/1.45 "Manrope", sans-serif;
  text-decoration: none;
}
.va-home-gutenberg-intro .wp-block-button__link::before,
.va-home-gutenberg-marine .wp-block-button__link::before,
.va-home-gutenberg-underwater .wp-block-button__link::before,
.va-home-gutenberg-experiences .wp-block-button__link::before {
  content: "";
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  background: url(../icons/arrow-white.svg) center / contain no-repeat;
}

.va-home-gutenberg-places { position:relative; }
.va-home-gutenberg-places .va-section-head { margin-bottom:32px; }
.va-home-place-dynamic { position:relative; }
.va-home-place-dynamic .va-place-carousel-controls {
  position:absolute;
  right:0;
  top:-82px;
}
.va-home-place-dynamic .va-place-scroller { margin-top:0; }

.va-home-gutenberg-underwater {
  min-height: clamp(650px, 56vw, 800px);
  padding: clamp(48px, 4vw, 62px) clamp(30px, 6.2vw, 90px);
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  background: #174563;
  background-image: none;
  overflow: hidden;
}
.va-home-gutenberg-underwater::after {
  display: none;
}
.va-home-underwater-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
}
.va-home-underwater-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  display: block;
}
.va-home-gutenberg-underwater .va-feature-card {
  position: relative;
  z-index: 2;
  width: min(530px, 100%);
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 44px;
  border-radius: var(--va-radius);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 2px 8px rgba(35, 167, 250, .15);
  backdrop-filter: blur(5px);
  display: block;
  text-align: left;
}

.va-home-gutenberg-experiences .va-section-head.va-head-with-action {
  max-width:none;
}
.va-home-gutenberg-experiences .va-head-with-action > .wp-block-group {
  max-width:var(--va-editorial-content-width);
}
.va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons {
  flex:0 0 auto;
}
.va-home-gutenberg-experiences .va-gutenberg-home-experience-grid {
  margin-top:32px;
}

@media (max-width:900px) {
  .va-home-gutenberg-underwater {
    min-height: 0;
    padding: clamp(300px, 58vw, 470px) clamp(24px, 7vw, 56px) 56px;
    align-items: flex-end;
  }
  .va-home-gutenberg-underwater .va-feature-card {
    width: min(620px, 100%);
    padding: 30px;
  }
  .va-home-place-dynamic .va-place-carousel-controls {
    position:static;
    margin:0 0 20px auto;
    width:max-content;
  }
  .va-home-gutenberg-experiences .va-section-head.va-head-with-action {
    align-items:flex-start;
  }
}
@media (max-width:820px) {
  .va-home-gutenberg-hero .va-hero-content h1 {
    width: 100%;
    font-size: clamp(44px, 10vw, 60px);
  }
}
@media (max-width:560px) {
  .va-home-gutenberg-underwater {
    padding: 270px 20px 48px;
  }
  .va-home-gutenberg-underwater .va-feature-card {
    padding: 24px 22px;
  }
  .va-home-gutenberg-intro .wp-block-button,
  .va-home-gutenberg-intro .wp-block-button__link,
  .va-home-gutenberg-marine .wp-block-button,
  .va-home-gutenberg-marine .wp-block-button__link,
  .va-home-gutenberg-underwater .wp-block-button,
  .va-home-gutenberg-underwater .wp-block-button__link,
  .va-home-gutenberg-experiences .wp-block-button,
  .va-home-gutenberg-experiences .wp-block-button__link {
    width:100%;
  }
}

/* 0.1.28 — Remaining menu hub/directory Pages now render Gutenberg compositions. */
.va-gutenberg-page > .va-gutenberg-hub-hero:first-child { margin-top:0; }
.va-gutenberg-contact-directory { width:100%; }

/* 0.1.29 — Gutenberg long-form island and Marine Park detail Pages. */
.va-gutenberg-longform {
  padding-top: clamp(64px, 7vw, 104px);
  padding-bottom: clamp(72px, 8vw, 120px);
  background: #fff;
}
.va-gutenberg-intro + .va-gutenberg-longform {
  padding-top: clamp(24px, 2vw, 32px);
}
.va-gutenberg-longform > * {
  width: min(var(--va-editorial-content-width), 100%);
  margin-left: auto;
  margin-right: auto;
}
.va-gutenberg-longform > p {
  margin-top: 0;
  margin-bottom: 22px;
  color: var(--va-body);
  font: 500 16px/1.85 "Manrope", sans-serif;
}
.va-gutenberg-longform > h2,
.va-gutenberg-longform > h3,
.va-gutenberg-longform > h4 {
  color: var(--va-dark-blue);
  font-family: "Sofia Sans", sans-serif;
  font-weight: 800;
  line-height: 1.2;
}
.va-gutenberg-longform > h2 {
  margin-top: 48px;
  margin-bottom: 20px;
  font-size: clamp(30px, 3vw, 40px);
}
.va-gutenberg-longform > h3 {
  margin-top: 38px;
  margin-bottom: 16px;
  font-size: clamp(25px, 2.4vw, 32px);
}
.va-gutenberg-longform > ul,
.va-gutenberg-longform > ol {
  margin-top: 0;
  margin-bottom: 28px;
  padding-left: 1.35em;
  color: var(--va-body);
  font: 500 16px/1.8 "Manrope", sans-serif;
}
.va-gutenberg-longform a {
  color: var(--va-blue);
  text-underline-offset: 3px;
}
.va-gutenberg-longform strong {
  color: var(--va-dark-blue);
}
@media (max-width: 560px) {
  .va-gutenberg-longform {
    padding-top: 56px;
    padding-bottom: 72px;
  }
  .va-gutenberg-longform > p,
  .va-gutenberg-longform > ul,
  .va-gutenberg-longform > ol {
    font-size: 16px;
  }
}

/* Utility Gutenberg pages */
.va-utility-page-hero {
	max-width: var(--va-editorial-content-width);
	margin: 0 auto;
	padding: 96px 64px 56px;
}

.va-utility-page-hero h1 {
	margin: 12px 0 18px;
	color: var(--va-dark-blue);
}

.va-utility-dynamic {
	max-width: 1032px;
	margin: 0 auto;
	padding: 0 64px 100px;
}

.va-credit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.va-credit-card {
	padding: 24px;
	border: 1px solid rgba(35, 167, 250, 0.18);
	border-radius: 12px;
	background: #fff;
}

.va-credit-card h2 {
	margin: 0 0 10px;
	font-size: 20px;
	color: var(--va-dark-blue);
}

.va-credit-card p:last-child { margin-bottom: 0; }

.va-map-directory-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.va-map-directory-toolbar button {
	appearance: none;
	border: 1px solid rgba(35, 167, 250, 0.24);
	background: #fff;
	color: var(--va-dark-blue);
	border-radius: 999px;
	padding: 9px 18px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.va-map-directory-toolbar button.is-active {
	background: #23a7fa;
	border-color: #23a7fa;
	color: #fff;
}

.va-map-directory-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
	gap: 24px;
	align-items: start;
}

.va-map-coordinate-board {
	position: sticky;
	top: 24px;
	min-height: 620px;
	border-radius: 18px;
	overflow: hidden;
	background:
		radial-gradient(circle at 64% 42%, rgba(58, 163, 105, 0.18), transparent 28%),
		radial-gradient(circle at 44% 62%, rgba(58, 163, 105, 0.12), transparent 24%),
		linear-gradient(135deg, #d9f3ff 0%, #eef9ff 100%);
	border: 1px solid rgba(35, 167, 250, 0.18);
}

.va-map-coordinate-board::after {
	content: "Σχετική θέση σημείων";
	position: absolute;
	left: 18px;
	bottom: 14px;
	font-size: 16px;
	font-weight: 700;
	color: rgba(26, 67, 124, 0.65);
}

.va-map-marker {
	position: absolute;
	left: var(--va-map-x);
	top: var(--va-map-y);
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
	border-radius: 50% 50% 50% 0;
	rotate: -45deg;
	background: #23a7fa;
	box-shadow: 0 3px 12px rgba(0, 20, 43, 0.18);
	display: grid;
	place-items: center;
	text-decoration: none;
	z-index: 2;
}

.va-map-marker.va-map-kind-listing { background: #3aa369; }
.va-map-marker span {
	rotate: 45deg;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
}

.va-map-marker.is-highlighted {
	z-index: 5;
	transform: translate(-50%, -50%) scale(1.35);
}

.va-map-directory-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 620px;
	overflow: auto;
	padding-right: 4px;
}

.va-map-directory-item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 13px 14px;
	border-radius: 12px;
	border: 1px solid rgba(35, 167, 250, 0.14);
	background: #fff;
	text-decoration: none;
	color: var(--va-dark-blue);
}

.va-map-directory-item:hover,
.va-map-directory-item.is-highlighted {
	border-color: rgba(35, 167, 250, 0.5);
	box-shadow: 0 3px 12px rgba(35, 167, 250, 0.12);
}

.va-map-directory-index {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #e2f1f6;
	display: grid;
	place-items: center;
	font-weight: 800;
	font-size: 16px;
	flex: 0 0 auto;
}

.va-map-directory-item strong,
.va-map-directory-item small { display: block; }
.va-map-directory-item small { margin-top: 2px; opacity: .65; }
.va-map-directory-item[hidden], .va-map-marker[hidden] { display: none !important; }

.va-html-sitemap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.va-sitemap-section {
	padding: 26px;
	border-radius: 14px;
	background: #f6fbfe;
	border: 1px solid rgba(35, 167, 250, 0.12);
}

.va-sitemap-section h2 {
	margin-top: 0;
	color: var(--va-dark-blue);
}

.va-sitemap-section ul {
	margin: 0;
	padding-left: 22px;
}

.va-sitemap-section li { margin: 8px 0; }
.va-sitemap-section a { color: var(--va-dark-blue); }

@media (max-width: 900px) {
	.va-utility-page-hero,
	.va-utility-dynamic { padding-left: 24px; padding-right: 24px; }
	.va-map-directory-layout,
	.va-html-sitemap,
	.va-credit-grid { grid-template-columns: 1fr; }
	.va-map-coordinate-board { position: relative; top: auto; min-height: 500px; }
	.va-map-directory-list { max-height: none; }
}

/* 0.1.32 — Homepage Gutenberg visual parity fixes. */

/* Keep all four "perfect escape" cards visible on desktop and restore real inner spacing. */
@media (min-width: 1081px) {
  .va-home-place-dynamic .va-place-scroller {
    overflow-x: hidden;
  }

  .va-home-place-dynamic .va-place-scroller .va-place-card {
    flex: 0 0 calc((100% - 48px) / 4);
    width: calc((100% - 48px) / 4);
    min-height: 380px;
    aspect-ratio: auto;
    padding: 32px 24px 24px;
  }
}

.va-home-place-dynamic .va-place-card {
  box-sizing: border-box;
}

/* Let Gutenberg's group wrapper preserve the full-width image and overlay card. */
.va-home-gutenberg-underwater > .wp-block-group__inner-container {
  display: contents;
}

/* The section-header CTA is a single horizontal pill on desktop. */
.va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons {
  flex: 0 0 auto;
  width: auto;
  margin-top: 0;
  align-self: flex-end;
}

.va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons .wp-block-button {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

.va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons .wp-block-button__link {
  width: auto;
  min-width: max-content;
  max-width: none;
  white-space: nowrap;
}

/* Preserve the 12px lower corners on every experience card, regardless of image/content height. */
.va-home-gutenberg-experiences .va-experience-card {
  border-radius: var(--va-radius);
  overflow: hidden;
}

.va-home-gutenberg-experiences .va-experience-card > div:last-child {
  border-radius: 0 0 var(--va-radius) var(--va-radius);
  overflow: hidden;
}

.va-home-gutenberg-experiences .va-experience-image {
  border-radius: var(--va-radius) var(--va-radius) 0 0;
}

@media (max-width: 1080px) {
  .va-home-place-dynamic .va-place-scroller .va-place-card {
    min-height: 340px;
    aspect-ratio: auto;
    padding: 30px 24px 22px;
  }
}

@media (max-width: 900px) {
  .va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons {
    align-self: flex-start;
  }

  .va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons .wp-block-button__link {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }
}



/* 0.1.33 — Homepage experiences CTA belongs directly below the intro copy. */
.va-home-gutenberg-experiences .va-section-head.va-head-with-action {
  display: block;
}

.va-home-gutenberg-experiences .va-head-with-action > .wp-block-buttons {
  width: auto;
  margin-top: 28px;
  align-self: auto;
  justify-content: flex-start;
}


/* 0.1.34 — Homepage card sizing parity. */

/* Desktop carousel: preserve square card size and reveal three full cards plus half of the fourth. */
@media (min-width: 1081px) {
  .va-home-place-dynamic .va-place-scroller {
    overflow-x: auto;
  }

  .va-home-place-dynamic .va-place-scroller .va-place-card {
    flex: 0 0 calc((100% - 48px) / 3.5);
    width: calc((100% - 48px) / 3.5);
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 32px 24px 24px;
  }
}

/* Homepage experience cards: reserve the same two-line title band for every card. */
.va-home-gutenberg-experiences .va-gutenberg-home-experience-grid {
  align-items: stretch;
}

.va-home-gutenberg-experiences .va-experience-card {
  height: 100%;
}

.va-home-gutenberg-experiences .va-experience-card > div:last-child {
  box-sizing: border-box;
  min-height: 88px;
}

.va-home-gutenberg-experiences .va-experience-card strong {
  display: flex;
  align-items: center;
  min-height: 2.6em;
}

@media (min-width: 768px) {
  .va-home-gutenberg-experiences .va-experience-card > div:last-child {
    height: 88px;
    flex: 0 0 88px;
  }
}

/* 0.1.35 — Homepage escape-card proportions and content alignment. */
.va-home-place-dynamic .va-place-card {
  align-items: center;
  text-align: center;
}

.va-home-place-dynamic .va-place-card h3 {
  width: 100%;
}

.va-home-place-dynamic .va-place-card .va-more {
  align-self: center;
}

@media (min-width: 1081px) {
  .va-home-place-dynamic .va-place-scroller .va-place-card {
    flex: 0 0 calc((100% - 48px) / 3.25);
    width: calc((100% - 48px) / 3.25);
    min-height: 340px;
    aspect-ratio: auto;
  }
}
