/*
Theme Name: Vuelos Caribe OTA
Theme URI: https://www.vueloscaribe.com/
Author: Vuelos Caribe Corp
Author URI: https://www.vueloscaribe.com/
Description: A custom mobile-first OTA theme for Vuelos Caribe hotels, resorts, cruises, tours, experiences, and Caribbean vacation packages.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: voyalli
*/


/* Vuelos Caribe safe homepage */
.voyalli-home {
  background: #f8fafc;
}

.voyalli-package-list.vcm-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 34px;
}

.voyalli-package-card.vcm-card {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.75fr);
	align-items: stretch;
	gap: 28px;
	padding: clamp(24px, 3vw, 32px);
	overflow: hidden;
	border: 1px solid rgba(231, 233, 242, 0.95);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(16, 27, 63, 0.1);
}

.voyalli-package-card__content.vcm-card-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 0;
}

.voyalli-package-card__content h2,
.voyalli-package-card__content h3 {
	margin: 0 0 12px;
	color: #101b3f;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.1;
}

.voyalli-package-card__content p {
	margin: 0 0 18px;
	color: #667085;
}

.voyalli-package-card__image.vcm-card-media {
	position: relative;
	display: block;
	min-height: 240px;
	overflow: hidden;
	border-radius: 18px;
	aspect-ratio: 16 / 10;
	background: #eef2f7;
}

.voyalli-package-card__image.vcm-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.voyalli-package-card .vcm-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 22px;
	color: #101b3f;
}

.voyalli-package-card .vcm-card-meta span {
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff5f7;
	font-size: 13px;
	font-weight: 800;
}

.voyalli-package-card .vcm-card-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
}

.voyalli-package-card .vcm-price strong {
	color: #101b3f;
	font-size: 24px;
}

.voyalli-package-card .vcm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 20px;
	border-radius: 999px;
	background: #ed2649;
	color: #fff;
	font-weight: 900;
	text-decoration: none;
}

.voyalli-faqs {
	display: grid;
	gap: 18px;
	margin-top: 28px;
}

.voyalli-faq {
	padding: clamp(20px, 3vw, 28px);
	border: 1px solid #e7e9f2;
	border-radius: 18px;
	background: #fff;
}

.voyalli-faq h2 {
	margin: 0 0 12px;
	color: #101b3f;
	font-size: clamp(22px, 3vw, 30px);
	line-height: 1.2;
}

.voyalli-faq p {
	margin: 0 0 10px;
}

.voyalli-business-info {
	display: grid;
	gap: 12px;
}

.voyalli-business-info__row {
	display: grid;
	grid-template-columns: minmax(110px, 0.25fr) 1fr;
	gap: 12px;
	margin: 0;
}

.voyalli-business-info__map iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 18px;
	aspect-ratio: 16 / 10;
}

.voyalli-cookie-notice {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 9998;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	width: min(680px, calc(100vw - 36px));
	padding: 16px;
	border: 1px solid #e7e9f2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(16, 27, 63, 0.18);
	color: #171717;
}

.voyalli-cookie-notice[hidden] {
	display: none;
}

.voyalli-cookie-notice p {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

.voyalli-cookie-notice__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.voyalli-cookie-notice .btn {
	min-height: 42px;
	padding: 11px 16px;
	border-radius: 999px;
}

.voyalli-cookie-notice__link {
	border: 1px solid #e7e9f2;
	background: #fff;
	color: #101b3f;
	box-shadow: none;
}

@media (max-width: 760px) {
	.voyalli-package-list.vcm-grid {
		gap: 28px;
	}

	.voyalli-package-card.vcm-card {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 24px;
	}

	.voyalli-package-card__image.vcm-card-media {
		order: -1;
		width: 100%;
		min-height: auto;
		aspect-ratio: 4 / 3;
	}

	.voyalli-package-card .vcm-card-footer {
		display: grid;
		justify-content: stretch;
	}

	.voyalli-package-card .vcm-button {
		width: 100%;
	}

	.voyalli-business-info__row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.voyalli-cookie-notice {
		right: 12px;
		bottom: 12px;
		grid-template-columns: 1fr;
		width: calc(100vw - 24px);
	}
}

.voyalli-hero {
  padding: 72px 18px;
  background:
    linear-gradient(135deg, rgba(84,104,175,.94), rgba(237,38,73,.82)),
    url('/wp-content/uploads/voyalli-destinations/caribbean-collection.svg');
  background-size: cover;
  background-position: center;
}

.voyalli-hero__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: 34px;
  align-items: center;
}

.voyalli-hero__content,
.voyalli-hero__content h1,
.voyalli-hero__content p {
  color: #fff;
}

.voyalli-eyebrow {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
  font-size: 13px;
  margin-bottom: 12px;
}

.voyalli-hero h1 {
  font-size: clamp(38px, 6vw, 70px);
  line-height: .95;
  margin: 0 0 18px;
}

.voyalli-hero__text {
  font-size: 19px;
  max-width: 620px;
}

.quote-card {
  background: #fff;
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 24px 70px rgba(15,23,42,.22);
}

.quote-card__tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.quote-card__tabs button {
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #5468AF;
  border-radius: 999px;
  min-height: 40px;
  font-weight: 800;
}

.quote-card__tabs button.is-active {
  background: #5468AF;
  color: #fff;
}

.quote-card label {
  display: block;
  margin-bottom: 12px;
}

.quote-card input,
.quote-card select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d1d5db;
  border-radius: 14px;
  padding: 10px 12px;
  color: #111827;
  background: #fff;
}

.quote-card__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.quote-card__grid--small {
  grid-template-columns: repeat(3, 1fr);
}

.quote-card__check {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.quote-card__check input {
  width: auto;
  min-height: auto;
}

.quote-card .btn-primary {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 16px;
  background: #ED2649;
  color: #fff;
  font-weight: 900;
  font-size: 16px;
}

.quote-card__note {
  margin: 12px 0 0;
  color: #667085;
  font-size: 13px;
  text-align: center;
}

.voyalli-home-section {
  padding: 54px 18px;
}

.voyalli-home-section__inner {
  max-width: 1180px;
  margin: 0 auto;
}

@media (max-width: 860px) {
  .voyalli-hero__inner {
    grid-template-columns: 1fr;
  }

  .quote-card__grid,
  .quote-card__grid--small {
    grid-template-columns: 1fr;
  }
}

.voyalli-header-actions,
.voyalli-mobile-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.voyalli-mobile-actions {
	display: none;
}

.voyalli-account-link,
.voyalli-cart-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: #111827;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.voyalli-account-link:hover,
.voyalli-cart-link:hover {
	color: #ed2649;
}

.voyalli-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	margin-left: 5px;
	padding: 0 6px;
	border-radius: 999px;
	background: #ed2649;
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
}

.voyalli-footer-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.voyalli-footer-legal a {
	color: inherit;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.voyalli-footer-legal a:hover {
	color: #fff;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media (max-width: 1080px) {
	.voyalli-header-actions {
		gap: 10px;
	}

	.voyalli-header-actions .header-cta {
		padding-inline: 16px;
	}
}

@media (max-width: 720px) {
	.site-header__inner > .voyalli-header-actions {
		display: none;
	}

	.voyalli-mobile-actions {
		display: grid;
		gap: 8px;
		padding-top: 12px;
		margin-top: 10px;
		border-top: 1px solid #e7e9f2;
	}

	.voyalli-mobile-actions .voyalli-account-link,
	.voyalli-mobile-actions .voyalli-cart-link,
	.voyalli-mobile-actions .header-cta {
		width: 100%;
		justify-content: flex-start;
		padding: 10px 4px;
	}

	.voyalli-mobile-actions .header-cta {
		display: inline-flex;
		justify-content: center;
		margin-top: 4px;
		padding: 13px 18px;
	}

	.voyalli-footer-legal {
		justify-content: flex-start;
	}
}

::selection {
	background: rgba(84, 104, 175, 0.25);
	color: inherit;
}

.voyalli-btn,
.voyalli-cta-button,
.voyalli-button,
.entry-content .voyalli-btn,
.entry-content .voyalli-cta-button,
a.voyalli-btn,
a.voyalli-cta-button,
.entry-content .btn,
.btn-primary,
.header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #ed2649;
	color: #fff !important;
	text-decoration: none;
	border-radius: 999px;
	font-weight: 800;
	line-height: 1.1;
}

.voyalli-btn *,
.voyalli-cta-button *,
.voyalli-button *,
.entry-content .btn *,
.btn-primary *,
.header-cta * {
	color: inherit !important;
	background: transparent !important;
}

.voyalli-btn:hover,
.voyalli-cta-button:hover,
.voyalli-button:hover,
.entry-content .btn:hover,
.btn-primary:hover,
.header-cta:hover {
	background: #d9183b;
	color: #fff !important;
}

.voyalli-policy-page h1,
.voyalli-policy-page h2,
.voyalli-policy-page h3,
.voyalli-policy-page p,
.voyalli-policy-page a,
.voyalli-about-page h1,
.voyalli-about-page h2,
.voyalli-about-page h3,
.voyalli-about-page p,
.voyalli-faq-page h1,
.voyalli-faq-page h2,
.voyalli-faq-page h3,
.voyalli-faq-page p {
	background: transparent;
}

.voyalli-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.voyalli-cta-actions > * + *::before {
	content: none !important;
}

.deals {
	background:
		linear-gradient(90deg, rgba(237, 38, 73, 0.1), rgba(255, 255, 255, 0.92) 42%),
		linear-gradient(135deg, #fff5f7 0%, #f7fbff 100%) !important;
}

.deals::before {
	background:
		radial-gradient(circle at 20% 30%, rgba(84, 104, 175, 0.18), rgba(84, 104, 175, 0) 42%),
		radial-gradient(circle at 10% 90%, rgba(237, 38, 73, 0.14), rgba(237, 38, 73, 0) 46%) !important;
	opacity: 1 !important;
}

.deals__inner {
	grid-template-columns: minmax(220px, 0.32fr) minmax(0, 1fr);
}

.deals__intro {
	padding: clamp(22px, 3vw, 30px);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 14px 34px rgba(16, 27, 63, 0.08);
}

.deals__intro h2 {
	margin-bottom: 16px;
}

.site-footer {
	background:
		radial-gradient(circle at 100% 100%, rgba(84, 104, 175, 0.42) 0, rgba(84, 104, 175, 0) 34%),
		linear-gradient(135deg, #ed2649 0%, #d9183b 62%, #101b3f 100%) !important;
	background-image:
		radial-gradient(circle at 100% 100%, rgba(84, 104, 175, 0.42) 0, rgba(84, 104, 175, 0) 34%),
		linear-gradient(135deg, #ed2649 0%, #d9183b 62%, #101b3f 100%) !important;
}

.site-footer,
.site-footer a,
.site-footer h2,
.site-footer p,
.site-footer li {
	color: #fff;
}

.voyalli-packages-page .voyalli-packages-hero,
.voyalli-packages-page .voyalli-deals-hero,
.voyalli-packages-page .voyalli-hot-deals,
.voyalli-packages-page .deals {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 20% 20%, rgba(237, 38, 73, 0.18), transparent 38%),
		linear-gradient(135deg, #fff7fa 0%, #f5f8ff 55%, #ffffff 100%) !important;
	background-image:
		radial-gradient(circle at 20% 20%, rgba(237, 38, 73, 0.18), transparent 38%),
		linear-gradient(135deg, #fff7fa 0%, #f5f8ff 55%, #ffffff 100%) !important;
}

.voyalli-packages-page .voyalli-packages-hero::before,
.voyalli-packages-page .voyalli-deals-hero::before,
.voyalli-packages-page .voyalli-hot-deals::before,
.voyalli-packages-page .deals::before {
	content: none !important;
}

.voyalli-packages-page .voyalli-package-card,
.voyalli-packages-page .voyalli-deal-card,
.voyalli-packages-page .voyalli-packages-list .package,
.voyalli-packages-page .voyalli-packages-grid .package {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 38%);
	gap: 28px;
	align-items: center;
	margin-bottom: 32px;
	padding: 28px;
	border: 1px solid rgba(84, 104, 175, 0.14);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.voyalli-packages-page .voyalli-package-card__image,
.voyalli-packages-page .voyalli-deal-card__image,
.voyalli-packages-page .voyalli-package-card img,
.voyalli-packages-page .voyalli-deal-card img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 20px;
}

.voyalli-socials,
.voyalli-footer-socials,
.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-top: 24px;
}

.voyalli-socials a,
.voyalli-footer-socials a,
.social-links a {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 999px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
	color: #ed2649 !important;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.voyalli-socials a svg,
.voyalli-footer-socials a svg,
.social-links a svg,
.voyalli-socials a i,
.voyalli-footer-socials a i,
.social-links a i {
	width: 20px;
	height: 20px;
	color: #ed2649 !important;
	fill: #ed2649 !important;
	stroke: #ed2649 !important;
	opacity: 1 !important;
}

.voyalli-socials a:hover,
.voyalli-footer-socials a:hover,
.social-links a:hover {
	background: #5468af;
	color: #ffffff !important;
	transform: translateY(-2px);
}

.voyalli-socials a:hover svg,
.voyalli-footer-socials a:hover svg,
.social-links a:hover svg,
.voyalli-socials a:hover i,
.voyalli-footer-socials a:hover i,
.social-links a:hover i {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

.voyalli-footer-trust {
	margin-top: 18px;
}

.voyalli-payment-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 18px;
}

.voyalli-payment-badge {
	display: inline-flex;
	min-width: 72px;
	height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	color: #111827;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.02em;
}

.voyalli-payment-note,
.voyalli-industry-label,
.voyalli-industry-membership {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
}

.voyalli-industry-label {
	margin-top: 16px;
	font-weight: 800;
}

.voyalli-industry-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.voyalli-industry-badge {
	display: inline-flex;
	height: 38px;
	align-items: center;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff !important;
	font-weight: 900;
	text-decoration: none;
}

.voyalli-industry-badge:hover {
	background: #fff;
	color: #ed2649 !important;
}

.voyalli-footer,
.site-footer {
	background:
		radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.12), transparent 35%),
		linear-gradient(135deg, #ed2649 0%, #d9183b 100%) !important;
	background-image:
		radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.12), transparent 35%),
		linear-gradient(135deg, #ed2649 0%, #d9183b 100%) !important;
}

.voyalli-footer-main {
	padding-bottom: 0;
}

.voyalli-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 22px;
	padding-bottom: 0;
	margin-top: 34px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.voyalli-footer-bottom > p {
	flex: 1 1 260px;
}

.voyalli-footer-socials {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 0;
}

.voyalli-footer-socials a {
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
	color: #ed2649 !important;
	text-decoration: none;
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.voyalli-footer-socials a svg {
	width: 17px;
	height: 17px;
	fill: currentColor !important;
	stroke: currentColor !important;
	color: currentColor !important;
	opacity: 1 !important;
}

.voyalli-footer-socials a:hover {
	background: #5468af;
	color: #fff !important;
	transform: translateY(-2px);
}

.voyalli-footer-trust {
	display: flex;
	flex: 1 1 320px;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 0;
}

.voyalli-payment-logos {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: nowrap;
}

.voyalli-payment-logo,
.voyalli-secure-badge {
	display: inline-flex;
	min-width: 42px;
	height: 26px;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
	color: #111827;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	text-transform: none;
	white-space: nowrap;
}

.voyalli-payment-logo--visa {
	color: #1a1f71;
}

.voyalli-payment-logo--mastercard {
	color: #eb001b;
}

.voyalli-payment-logo--amex {
	color: #006fcf;
}

.voyalli-payment-logo--discover {
	color: #f58220;
}

.voyalli-industry-logos {
	display: flex;
	align-items: center;
	gap: 6px;
}

.voyalli-industry-logo {
	display: inline-flex;
	height: 24px;
	align-items: center;
	padding: 0 9px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.13);
	color: #fff !important;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0;
	text-decoration: none;
}

.voyalli-industry-logo:hover {
	background: #fff;
	color: #ed2649 !important;
}

.voyalli-industry-membership {
	flex-basis: 100%;
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 11px;
	text-align: right;
}

.voyalli-footer-legal {
	position: relative;
	z-index: 1;
	width: min(100% - 32px, 1180px);
	margin: 16px auto 0;
	padding-bottom: 24px;
}

@media (max-width: 780px) {
	.voyalli-packages-page .voyalli-package-card,
	.voyalli-packages-page .voyalli-deal-card,
	.voyalli-packages-page .voyalli-packages-list .package,
	.voyalli-packages-page .voyalli-packages-grid .package {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 20px;
	}
}

@media (max-width: 900px) {
	.voyalli-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.voyalli-footer-trust {
		justify-content: flex-start;
	}

	.voyalli-footer-socials {
		justify-content: flex-start;
	}

	.voyalli-industry-membership {
		text-align: left;
	}
}

@media (max-width: 520px) {
	.voyalli-payment-logos {
		flex-wrap: wrap;
	}
}

.voyalli-faq-accordion {
	display: grid;
	gap: 16px;
	margin-top: 28px;
}

.voyalli-faq-item {
	overflow: hidden;
	border: 1px solid rgba(231, 233, 242, 0.96);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(16, 27, 63, 0.08);
}

.voyalli-faq-question {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: clamp(18px, 3vw, 24px);
	border: 0;
	background: transparent;
	color: #101b3f;
	cursor: pointer;
	font: inherit;
	font-size: clamp(17px, 2.2vw, 21px);
	font-weight: 900;
	line-height: 1.25;
	text-align: left;
}

.voyalli-faq-question:focus-visible {
	outline: 3px solid rgba(237, 38, 73, 0.35);
	outline-offset: -6px;
}

.voyalli-faq-icon {
	display: inline-grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 999px;
	background: #fff5f7;
	color: #ed2649;
	font-size: 25px;
	font-weight: 900;
	line-height: 1;
	transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}

.voyalli-faq-item.is-open .voyalli-faq-icon {
	background: #ed2649;
	color: #fff;
	transform: rotate(45deg);
}

.voyalli-faq-answer {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-6px);
	transition: max-height 450ms ease, opacity 260ms ease, transform 260ms ease;
}

.voyalli-faq-answer > div {
	padding: 0 clamp(18px, 3vw, 24px) clamp(18px, 3vw, 24px);
	color: #667085;
	font-weight: 700;
}

.voyalli-faq-answer p:last-child {
	margin-bottom: 0;
}

.voyalli-faq-item.is-open .voyalli-faq-answer {
	max-height: 900px;
	opacity: 1;
	transform: translateY(0);
}

.voyalli-policy-page .content-article,
.voyalli-about-page .content-article,
.voyalli-faq-page .content-article {
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.voyalli-policy-page .entry-header,
.voyalli-about-page .entry-header,
.voyalli-faq-page .entry-header,
.voyalli-page-intro,
.voyalli-policy-card {
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid rgba(231, 233, 242, 0.96);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(16, 27, 63, 0.08);
}

.voyalli-policy-page .entry-header,
.voyalli-about-page .entry-header,
.voyalli-faq-page .entry-header {
	margin-bottom: 18px;
}

.voyalli-policy-card,
.voyalli-page-intro {
	margin-top: 18px;
}

.voyalli-policy-card h2 {
	margin-bottom: 12px;
	font-size: clamp(22px, 3vw, 32px);
}

.voyalli-policy-card p:last-child,
.voyalli-page-intro p:last-child {
	margin-bottom: 0;
}

.voyalli-about-page .entry-content p:has(.btn) {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.voyalli-about-page .entry-content p:has(.btn) .btn {
	margin-right: 0;
}

.voyalli-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 450ms ease, transform 450ms ease;
}

.voyalli-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.voyalli-reveal,
	.voyalli-faq-answer,
	.voyalli-faq-icon {
		transition: none;
	}

	.voyalli-reveal {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 720px) {
	.deals__inner {
		grid-template-columns: 1fr;
	}

	.deals__intro {
		padding: 22px;
	}

	.voyalli-faq-question {
		align-items: flex-start;
	}

	.voyalli-faq-icon {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
		font-size: 22px;
	}

	.voyalli-about-page .entry-content p:has(.btn) {
		display: grid;
	}

	.voyalli-about-page .entry-content p:has(.btn) .btn {
		width: 100%;
	}
}

/* WooCommerce and Woo Blocks */
.woocommerce-page .site-main,
.voyalli-woo {
	padding: 40px 20px;
	background: #f6f8fc;
}

.woocommerce-page .content-article,
.voyalli-woo__wrap,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
	width: min(100%, 1180px);
	margin-inline: auto;
	padding: clamp(24px, 4vw, 38px);
	border: 1px solid rgba(84, 104, 175, 0.12);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(16, 27, 63, 0.09);
	color: #111827;
}

.woocommerce-page .content-article {
	max-width: 1180px;
}

.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce-page label,
.woocommerce-page table,
.woocommerce-page p,
.woocommerce-page li,
.voyalli-woo h1,
.voyalli-woo h2,
.voyalli-woo h3,
.voyalli-woo label,
.voyalli-woo table,
.voyalli-woo p,
.voyalli-woo li {
	color: #111827;
}

.woocommerce-page input.input-text,
.woocommerce-page textarea,
.woocommerce-page select,
.woocommerce-page .select2-container .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input {
	min-height: 48px;
	border: 1px solid rgba(84, 104, 175, 0.22);
	border-radius: 12px;
	background: #fff;
	color: #111827;
	font-size: 16px;
}

.woocommerce-page textarea {
	min-height: 120px;
	padding: 12px 14px;
}

.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border: 0 !important;
	border-radius: 999px !important;
	background: #ed2649 !important;
	color: #fff !important;
	font-weight: 900;
	text-decoration: none !important;
	box-shadow: 0 14px 28px rgba(237, 38, 73, 0.2);
}

.woocommerce-page button.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page #respond input#submit:hover,
.wc-block-components-button:hover {
	background: #5468af !important;
	color: #fff !important;
}

.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message {
	border-top: 0;
	border-left: 5px solid #ed2649;
	border-radius: 14px;
	background: #fff7fa;
	color: #111827;
	box-shadow: 0 12px 32px rgba(16, 27, 63, 0.08);
}

.woocommerce-page .woocommerce-message {
	border-left-color: #2f9e44;
	background: #f0fff4;
}

.woocommerce-page .woocommerce-info {
	border-left-color: #5468af;
	background: #f5f7ff;
}

.woocommerce-cart table.cart,
.woocommerce-checkout-review-order,
.woocommerce-order,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar,
.wc-block-components-main {
	border-radius: 18px;
	background: #fff;
	color: #111827;
}

.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-page table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-orders-table td,
.woocommerce-orders-table th {
	border-color: rgba(84, 104, 175, 0.14);
	color: #111827;
}

.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.woocommerce-checkout #order_review {
	position: sticky;
	top: 110px;
}

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.woocommerce-account .woocommerce:has(.woocommerce-form-login),
.woocommerce-account .woocommerce:has(.woocommerce-form-register) {
	display: block;
}

.woocommerce-MyAccount-navigation {
	padding: 16px;
	border: 1px solid rgba(84, 104, 175, 0.14);
	box-shadow: 0 16px 40px rgba(16, 27, 63, 0.07);
}

.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 14px;
	border-radius: 999px;
	color: #111827;
	font-weight: 800;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover {
	background: #ed2649;
	color: #fff;
}

.woocommerce-MyAccount-content {
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(84, 104, 175, 0.14);
	box-shadow: 0 16px 40px rgba(16, 27, 63, 0.07);
}

.woocommerce-MyAccount-content form,
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-address-fields,
.woocommerce-EditAccountForm {
	display: grid;
	gap: 14px;
}

.wc-block-components-sidebar-layout {
	align-items: flex-start;
	gap: 28px;
}

.wc-block-components-sidebar {
	position: sticky;
	top: 110px;
	padding: 22px;
	border: 1px solid rgba(84, 104, 175, 0.14);
	box-shadow: 0 16px 40px rgba(16, 27, 63, 0.07);
}

.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-formatted-money-amount,
.wc-block-components-checkout-step__title {
	color: #111827 !important;
}

/* Travel Guide and blog */
.voyalli-travel-guide-page,
.voyalli-single-post {
	background: #f6f8fc;
}

.voyalli-travel-guide-hero {
	padding: clamp(58px, 8vw, 96px) 20px;
	background:
		linear-gradient(90deg, rgba(16, 27, 63, 0.72), rgba(16, 27, 63, 0.22)),
		url("assets/img/photos/hero/hero-caribbean-beach-palms-wide.png") center / cover no-repeat;
	color: #fff;
}

.voyalli-travel-guide-hero__inner {
	width: min(100%, 1180px);
	margin-inline: auto;
}

.voyalli-travel-guide-hero p {
	margin: 0 0 10px;
	color: rgba(255, 255, 255, 0.9);
	font-weight: 900;
}

.voyalli-travel-guide-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 7vw, 76px);
	line-height: 0.96;
}

.voyalli-travel-guide-hero div {
	max-width: 640px;
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.95);
	font-size: clamp(18px, 2.2vw, 23px);
	font-weight: 700;
	line-height: 1.45;
}

.voyalli-travel-guide-layout {
	display: grid;
	width: min(100% - 40px, 1180px);
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 34px;
	margin-inline: auto;
	padding: 44px 0 70px;
	align-items: start;
}

.voyalli-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.voyalli-post-card {
	overflow: hidden;
	border: 1px solid rgba(84, 104, 175, 0.12);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(16, 27, 63, 0.08);
}

.voyalli-post-card__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(135deg, rgba(237, 38, 73, 0.22), rgba(84, 104, 175, 0.2)),
		#f5f7ff;
}

.voyalli-post-card__image img,
.voyalli-post-card__image span {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.voyalli-post-card__body {
	padding: 20px;
}

.voyalli-post-card__meta,
.voyalli-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	color: #5468af;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.voyalli-post-card h2 {
	margin: 12px 0 10px;
	font-size: 22px;
	line-height: 1.16;
}

.voyalli-post-card h2 a,
.voyalli-post-card__link {
	color: #101b3f;
	text-decoration: none;
}

.voyalli-post-card__link {
	color: #ed2649;
	font-weight: 900;
}

.voyalli-post-card p {
	color: #4b5563;
	line-height: 1.6;
}

.voyalli-blog-sidebar,
.voyalli-blog-empty,
.voyalli-blog-cta {
	padding: 24px;
	border: 1px solid rgba(84, 104, 175, 0.12);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(16, 27, 63, 0.08);
}

.voyalli-blog-sidebar {
	position: sticky;
	top: 110px;
	display: grid;
	gap: 24px;
}

.voyalli-blog-sidebar h2 {
	margin: 0 0 12px;
	font-size: 18px;
}

.voyalli-blog-sidebar ul {
	display: grid;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.voyalli-blog-sidebar a {
	color: #101b3f;
	font-weight: 800;
	text-decoration: none;
}

.voyalli-blog-sidebar a:hover {
	color: #ed2649;
}

.voyalli-single-post {
	padding: 46px 20px 72px;
}

.voyalli-article,
.voyalli-blog-cta,
.voyalli-related-posts {
	width: min(100%, 880px);
	margin-inline: auto;
}

.voyalli-article {
	padding: clamp(24px, 4vw, 44px);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(16, 27, 63, 0.09);
}

.voyalli-article__header h1 {
	margin: 12px 0 0;
	color: #101b3f;
	font-size: clamp(36px, 6vw, 62px);
	line-height: 1;
}

.voyalli-article__image {
	overflow: hidden;
	margin-top: 28px;
	border-radius: 8px;
}

.voyalli-article__image img {
	display: block;
	width: 100%;
	height: auto;
}

.voyalli-article__content {
	margin-top: 28px;
	color: #111827;
	font-size: 18px;
	line-height: 1.75;
}

.voyalli-blog-cta,
.voyalli-related-posts {
	margin-top: 30px;
}

.voyalli-related-posts {
	width: min(100%, 1180px);
}

.voyalli-related-posts > h2 {
	margin-bottom: 18px;
	color: #101b3f;
}

@media (max-width: 900px) {
	.woocommerce-checkout .col2-set,
	.woocommerce-account .woocommerce,
	.voyalli-travel-guide-layout {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout #order_review,
	.wc-block-components-sidebar,
	.voyalli-blog-sidebar {
		position: static;
	}

	.voyalli-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.woocommerce-page .site-main,
	.voyalli-woo {
		padding: 24px 12px;
	}

	.woocommerce-page .content-article,
	.voyalli-woo__wrap,
	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content,
	.woocommerce-account .entry-content {
		padding: 18px;
		border-radius: 16px;
	}

	.voyalli-travel-guide-layout {
		width: min(100% - 24px, 1180px);
	}

	.voyalli-blog-grid {
		grid-template-columns: 1fr;
	}
}

/* WooCommerce cart, checkout, and account layout overrides. */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
	background: #f5f8ff;
}

body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main,
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
	padding: 42px 20px 70px;
	background: #f5f8ff;
}

body.woocommerce-cart .container,
body.woocommerce-checkout .container,
body.woocommerce-account .container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

body.woocommerce-cart .content-article,
body.woocommerce-checkout .content-article,
body.woocommerce-account .content-article,
body.woocommerce-cart .voyalli-woo__wrap,
body.woocommerce-checkout .voyalli-woo__wrap,
body.woocommerce-account .voyalli-woo__wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.woocommerce-cart h1,
body.woocommerce-checkout h1,
body.woocommerce-account h1 {
	max-width: 1180px;
	margin: 0 auto 22px;
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.05;
	color: #0b1437;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
	background: #fff;
	border: 1px solid rgba(84, 104, 175, 0.14);
	border-radius: 22px;
	padding: 28px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.woocommerce-checkout .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
	gap: 32px;
	align-items: start;
}

body.woocommerce-checkout .wc-block-components-main {
	width: auto !important;
	max-width: none !important;
	padding-right: 0 !important;
}

body.woocommerce-checkout .wc-block-components-sidebar {
	width: auto !important;
	max-width: none !important;
	position: sticky;
	top: 110px;
	align-self: start;
	padding: 22px;
}

body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	background: #fff;
	border-radius: 18px;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
	background: #fff;
	border: 1px solid rgba(84, 104, 175, 0.14);
	border-radius: 22px;
	padding: 28px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.woocommerce-cart .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: 32px;
	align-items: start;
}

body.woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar {
	width: auto !important;
	max-width: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar {
	padding: 22px;
}

body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-account input,
body.woocommerce-account select,
body.woocommerce-account textarea,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-block-components-address-form input {
	min-height: 46px;
	border-radius: 12px !important;
	border: 1px solid rgba(84, 104, 175, 0.24) !important;
	background: #fff !important;
	color: #0b1437 !important;
	font-size: 15px !important;
	width: 100%;
	box-sizing: border-box;
}

body.woocommerce-checkout label,
body.woocommerce-cart label,
body.woocommerce-account label,
body.woocommerce-checkout .wc-block-components-text-input label {
	color: #0b1437 !important;
	font-weight: 700;
}

body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-cart .wc-block-cart-items {
	width: 100%;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details {
	font-size: 13px;
	line-height: 1.45;
	color: #536075;
	word-break: normal !important;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description a,
body.woocommerce-cart .wc-block-cart-item__product a {
	color: #0b1437 !important;
	font-weight: 800;
	text-decoration: none;
	word-break: normal !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
	width: 64px;
	min-width: 64px;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	border-radius: 10px;
}

body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message {
	width: 100%;
	max-width: none;
	border-radius: 14px;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.45;
	box-sizing: border-box;
}

body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .button,
body.woocommerce-cart .button,
body.woocommerce-account .button,
body.woocommerce-checkout button,
body.woocommerce-cart button {
	background: #ed2649 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	min-height: 48px;
	padding: 13px 22px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	box-shadow: 0 12px 26px rgba(237, 38, 73, 0.22);
}

body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-account .button:hover {
	background: #d9183b !important;
	color: #fff !important;
}

body.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
	gap: 32px;
	max-width: 1180px;
	margin: 0 auto;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
	float: none !important;
	width: auto !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid rgba(84, 104, 175, 0.14);
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07);
}

body.woocommerce-account .woocommerce {
	max-width: 1180px;
	margin: 0 auto;
	padding: 32px 20px 56px;
	display: flex;
	gap: 28px;
	align-items: flex-start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 260px !important;
	flex: 0 0 260px;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	flex: 1 1 auto;
	min-width: 0;
}

body.woocommerce-account .woocommerce:has(.woocommerce-form-login),
body.woocommerce-account .woocommerce:has(.woocommerce-form-register) {
	display: block;
}

@media (max-width: 900px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout,
	body.woocommerce-cart .wc-block-components-sidebar-layout,
	body.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	body.woocommerce-checkout .wc-block-components-sidebar,
	body.woocommerce-cart .wc-block-components-sidebar {
		position: static;
	}
}

@media (max-width: 780px) {
	body.woocommerce-account .woocommerce {
		display: block;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation,
	body.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	body.woocommerce-cart .site-main,
	body.woocommerce-checkout .site-main,
	body.woocommerce-account .site-main,
	body.woocommerce-cart main,
	body.woocommerce-checkout main,
	body.woocommerce-account main {
		padding: 28px 12px 52px;
	}

	body.woocommerce-checkout .wc-block-checkout,
	body.woocommerce-checkout .wp-block-woocommerce-checkout,
	body.woocommerce-cart .wc-block-cart,
	body.woocommerce-cart .wp-block-woocommerce-cart {
		padding: 18px;
		border-radius: 18px;
	}

	body.woocommerce-account .woocommerce {
		padding: 22px 0 42px;
	}
}

/* Vuelos Caribe footer readability + cleanup */
.site-footer.voyalli-footer,
.voyalli-footer {
  background:
    radial-gradient(circle at 88% 72%, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(135deg, #ED2649 0%, #d9183b 100%) !important;
  color: #ffffff !important;
}

.voyalli-footer *,
.site-footer.voyalli-footer * {
  color: #ffffff !important;
}

.voyalli-footer h1,
.voyalli-footer h2,
.voyalli-footer h3,
.voyalli-footer p,
.voyalli-footer li,
.voyalli-footer span,
.voyalli-footer a,
.site-footer.voyalli-footer h1,
.site-footer.voyalli-footer h2,
.site-footer.voyalli-footer h3,
.site-footer.voyalli-footer p,
.site-footer.voyalli-footer li,
.site-footer.voyalli-footer span,
.site-footer.voyalli-footer a {
  color: #ffffff !important;
  text-shadow: none !important;
}

.voyalli-footer a {
  text-decoration: none;
}

.voyalli-footer a:hover {
  color: rgba(255,255,255,.82) !important;
}

/* Footer bottom layout */
.voyalli-footer-bottom,
.site-footer__bottom.voyalli-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  border-top: 1px solid rgba(255,255,255,.25) !important;
  padding-top: 22px !important;
  margin-top: 34px !important;
}

.voyalli-footer-trust {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* Compact payment logos */
.voyalli-payment-logos {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

.voyalli-payment-logo,
.voyalli-secure-badge {
  height: 26px !important;
  min-width: 42px !important;
  padding: 0 9px !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #111827 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.12) !important;
}

.voyalli-payment-logo--visa {
  color: #1a1f71 !important;
}

.voyalli-payment-logo--mastercard {
  color: #eb001b !important;
}

.voyalli-payment-logo--amex {
  color: #006fcf !important;
}

.voyalli-payment-logo--discover {
  color: #f58220 !important;
}

.voyalli-secure-badge {
  color: #111827 !important;
}

/* Small IATA / IATAN */
.voyalli-industry-logos {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}

.voyalli-industry-logo {
  height: 24px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
}

.voyalli-industry-logo:hover {
  background: #ffffff !important;
  color: #ED2649 !important;
}

.voyalli-industry-logo.footer-trust-logo,
.voyalli-industry-logo.footer-accreditation-logo {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  height: auto !important;
  min-width: 0 !important;
  border-radius: 0 !important;
}

/* Hide duplicated legal menu under footer */
.voyalli-footer-legal {
  display: none !important;
}

/* Mobile footer */
@media (max-width: 900px) {
  .voyalli-footer-bottom,
  .site-footer__bottom.voyalli-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .voyalli-footer-trust {
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }

  .voyalli-payment-logos {
    flex-wrap: wrap !important;
  }
}

/* Vuelos Caribe footer CDN payment card logos */
.voyalli-footer .voyalli-payment-logos {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
}

.voyalli-footer .voyalli-card-logo {
  display: block !important;
  width: auto !important;
  height: 24px !important;
  min-width: 38px !important;
  max-width: 54px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border-radius: 5px !important;
  padding: 2px 4px !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}

.voyalli-footer .voyalli-secure-logo {
  height: 24px !important;
  min-width: 38px !important;
  padding: 0 8px !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #111827 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}

/* Override old text payment badges if still present */
.voyalli-footer .voyalli-payment-logo {
  height: 24px !important;
  min-width: 38px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
}

/* Small IATA / IATAN badges aligned with card logos */
.voyalli-footer .voyalli-industry-logos {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

.voyalli-footer .voyalli-industry-logo {
  height: 24px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.voyalli-footer .voyalli-industry-logo:hover {
  background: #ffffff !important;
  color: #ED2649 !important;
}

.voyalli-footer .voyalli-industry-logo.footer-trust-logo,
.voyalli-footer .voyalli-industry-logo.footer-accreditation-logo {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  height: auto !important;
  min-width: 0 !important;
  border-radius: 0 !important;
}

.footer-trust-logo img,
.footer-accreditation-logo img {
  display: block;
  width: auto;
  height: 42px !important;
  max-width: 120px !important;
  object-fit: contain !important;
}

@media (max-width: 600px) {
  .footer-trust-logo img,
  .footer-accreditation-logo img {
    height: 34px !important;
    max-width: 100px !important;
  }
}

.voyalli-footer .voyalli-footer-trust {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 700px) {
  .voyalli-footer .voyalli-payment-logos {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .voyalli-footer .voyalli-card-logo {
    height: 22px !important;
  }
}

/* Vuelos Caribe footer real CDN card logos */
.voyalli-footer .voyalli-footer-trust {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.voyalli-footer .voyalli-payment-logos {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
}

.voyalli-footer .voyalli-card-logo {
  display: block !important;
  height: 24px !important;
  width: auto !important;
  min-width: 38px !important;
  max-width: 58px !important;
  object-fit: contain !important;
  background: #fff !important;
  border-radius: 5px !important;
  padding: 2px 4px !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}

.voyalli-footer .voyalli-secure-logo {
  height: 24px !important;
  min-width: 38px !important;
  padding: 0 8px !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #111827 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}

/* Hide old span badges if any old helper still prints them */
.voyalli-footer .voyalli-payment-logo {
  display: none !important;
}

.voyalli-footer .voyalli-industry-logos {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

.voyalli-footer .voyalli-industry-logo {
  height: 24px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.voyalli-footer .voyalli-industry-logo:hover {
  background: #fff !important;
  color: #ED2649 !important;
}

@media (max-width: 700px) {
  .voyalli-footer .voyalli-payment-logos {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .voyalli-footer .voyalli-card-logo {
    height: 22px !important;
  }
}

/* Vuelos Caribe footer: real CDN payment card logos */
.voyalli-footer .voyalli-footer-trust {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.voyalli-footer .voyalli-payment-logos {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
}

.voyalli-footer .voyalli-card-logo {
  display: block !important;
  height: 24px !important;
  width: auto !important;
  min-width: 38px !important;
  max-width: 58px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border-radius: 5px !important;
  padding: 2px 4px !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}

.voyalli-footer .voyalli-secure-logo {
  height: 24px !important;
  min-width: 38px !important;
  padding: 0 8px !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #111827 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}

/* Hide old text badges if cached/printed anywhere */
.voyalli-footer .voyalli-payment-logo,
.voyalli-footer .voyalli-secure-badge {
  display: none !important;
}

@media (max-width: 700px) {
  .voyalli-footer .voyalli-payment-logos {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .voyalli-footer .voyalli-card-logo {
    height: 22px !important;
  }
}

/* =========================================================
   Vuelos Caribe SVG logo/header correction
   ========================================================= */

.site-header__inner {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;

    width: min(calc(100% - 32px), 1200px);
    margin-inline: auto;
}

.site-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 240px;
    min-width: 240px;
    max-width: 240px;
    margin: 0;
    padding: 0;
}

.site-brand .custom-logo-link {
    display: block;
    width: 100%;
    max-width: 240px;
    margin: 0;
    padding: 0;
    line-height: 0;
}

.site-brand .custom-logo,
.site-brand img {
    display: block;
    width: 100%;
    max-width: 240px;
    height: auto;
    max-height: 64px;
    margin: 0;
    padding: 0;

    object-fit: contain;
    object-position: left center;
}

/* Keep navigation in the middle column */
.primary-navigation {
    min-width: 0;
    width: 100%;
    margin: 0;
    justify-self: stretch;
}

.primary-navigation .primary-menu,
.primary-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 22px;
    margin: 0;
    padding: 0;
}

/* Header icons/actions stay at the right */
.voyalli-header-actions,
.site-header__actions,
.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: 12px;
    margin: 0;
}

/* Prevent generic logo rules from expanding the SVG */
.custom-logo {
    width: auto;
    height: auto;
}

/* Tablet */
@media (max-width: 1100px) {
    .site-header__inner {
        grid-template-columns: 200px minmax(0, 1fr) auto;
        gap: 16px;
    }

    .site-brand {
        width: 200px;
        min-width: 200px;
        max-width: 200px;
    }

    .site-brand .custom-logo-link,
    .site-brand .custom-logo,
    .site-brand img {
        max-width: 200px;
        max-height: 56px;
    }

    .primary-navigation .primary-menu,
    .primary-menu {
        gap: 14px;
    }
}

/* Mobile */
@media (max-width: 782px) {
    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        min-height: 70px;
    }

    .site-brand {
        width: 190px;
        min-width: 0;
        max-width: 190px;
    }

    .site-brand .custom-logo-link,
    .site-brand .custom-logo,
    .site-brand img {
        width: 100%;
        max-width: 190px;
        max-height: 48px;
    }

    .primary-navigation {
        display: none;
    }
}
