			.invx-gallery { width:100%; }
			@media (min-width: 768px) {
				.invx-gallery .invx-gallery__viewport { height: var(--invx-h-d, 80vh); }
			}
			@media (max-width: 767.98px) {
				.invx-gallery .invx-gallery__viewport { height: var(--invx-h-m, 70vh); --invx-gallery-text-scale: var(--invx-gallery-text-scale-m, 0.78); --invx-gallery-text-white-space: nowrap; --invx-gallery-text-max-width: 92%; --invx-gallery-text-line-height: 1.15; }
			}

			.invx-gallery__viewport {
				position: relative;
				overflow: hidden;
				width: 100%;
				background:#fafafa;
				color:#fff;
			}
			.invx-gallery__slide {
				position:absolute;
				inset:0;
				opacity:0;
				transition:opacity 800ms ease;
				pointer-events:none;
			}
			.invx-gallery__slide.is-active {
				opacity:1;
				pointer-events:auto;
			}
			.invx-gallery__slide.is-active.invx-gallery__slide--kenburns .invx-gallery__bg {
				animation: invx-kenburns 20000ms ease-in-out infinite alternate;
			}
			.invx-gallery__bg {
				position:absolute;
				inset:0;
				background-size:cover;
				background-position:center center;
				transform-origin:center center;
			}
			.invx-gallery__video {
				position:absolute;
				inset:0;
				width:100%;
				height:100%;
				object-fit:cover;
				z-index:1;
			}
			.invx-gallery__texts {
				position:relative;
				z-index:2;
				width:100%;
				height:100%;
			}
			.invx-gallery__text {
				position:absolute;
				transform:translate(-50%, -50%) scale(var(--invx-gallery-text-scale, 1));
				text-align:center;
				padding:0.25rem 0.5rem;
				text-shadow:0 1px 2px rgba(0,0,0,0.6);
				line-height:var(--invx-gallery-text-line-height, normal);
				white-space:var(--invx-gallery-text-white-space, nowrap);
				max-width:var(--invx-gallery-text-max-width, 80%);
				left:50%;
				top:50%;
			}

			.invx-gallery__placeholder {
				position:absolute;
				inset:0;
				display:flex;
				align-items:center;
				justify-content:center;
				color:#fff;
			}

/* Cuenta regresiva debajo de la galería */
.invx-countdown {
	background:transparent;
	color:#111827;
	padding:4rem 1rem;
}
.invx-countdown__inner {
	max-width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:nowrap;
	gap:1.5rem;
	align-items:center;
}
.invx-countdown__media {
	flex:1 1 70%;
	min-width:0;
	background:transparent;
	border-radius:10px;
	box-shadow:0 12px 30px rgba(15, 23, 42, 0.08);
	padding:1rem;
}
.invx-countdown__media img {
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;
}
			.invx-countdown__timer {
				flex:1 1 80%;
				min-width:0;
				text-align:left;
			}
			.invx-countdown__heading {
				margin:0 0 4rem;
				font-size:4rem;
				font-weight:400;
				color:#111827;
				font-family:"Great Vibes", cursive;
			}

			.invx-countdown__message {
				margin:3rem 0 0;
				font-size:1.2rem;
				font-family:"Playfair Display", serif;
				line-height:1.6;
				color:#374151;
				text-align:center;
			}

			.invx-countdown__rsvp-cta {
				margin:2.25rem 0 0;
			}

			.invx-countdown__message + .invx-countdown__rsvp-cta {
				margin-top:1.25rem;
			}





			/* Tarjeta de cuenta regresiva tipo diseño */
			.invx-countdown-card {
				display:flex;
				background:#ffffff;
				border-radius:4px;
				box-shadow:0 8px 18px rgba(0, 0, 0, 0.04);
				overflow:hidden;
			}
			.invx-countdown-card__date {
				background:var(--invx-countdown-accent, #f15b81);
				color:#fff;
				padding:1.25rem 1.75rem;
				display:flex;
				align-items:center;
				justify-content:center;
				min-width:140px;
			}
			.invx-countdown-card__date-inner {
				text-align:left;
			}
			.invx-countdown-card__month {
				font-size:1rem;
				font-weight:600;
			}
			.invx-countdown-card__day-year {
				font-size:0.95rem;
				margin-top:0.25rem;
			}
			.invx-countdown-card__values {
				display:grid;
				grid-template-columns:repeat(4, minmax(0, 1fr));
				align-items:center;
				justify-items:center;
				padding:1.3rem 1.6rem;
				column-gap:0.75rem;
				flex:1 1 auto;
			}
			.invx-countdown__unit {
				text-align:center;
				padding:0 0.25rem;
				min-width:0;
				position:relative;
			}
			.invx-countdown__unit + .invx-countdown__unit {
				border-left:1px solid rgba(0, 0, 0, 0.06);
			}
			.invx-countdown__value {
				display:block;
				font-size:1.6rem;
				font-weight:700;
				color:#3c4257;
				line-height:1.1;
				white-space:nowrap;
			}
			.invx-countdown__label {
				display:block;
				margin-top:0.35rem;
				font-size:0.72rem;
				text-transform:uppercase;
				letter-spacing:0.05em;
				color:var(--invx-countdown-accent, #f15b81);
				white-space:nowrap;
			}

			@media (max-width: 767.98px) {
				.invx-countdown__inner {
					flex-direction:column;
				}
				.invx-countdown__timer {
					text-align:left;
				}
				.invx-countdown__heading {
					text-align:center;
				}
				.invx-countdown-card {
					flex-direction:row;
				}
				.invx-countdown-card__values {
					grid-template-columns:repeat(2, minmax(0, 1fr));
				}
			}

			/* Sección de direcciones / mapas */
			.invx-locations {
				position:relative;
				overflow:hidden;
				background:#ffffff;
				color:#111827;
				padding:12rem 1.5rem;
			}
			.invx-locations__bg {
				position:absolute;
				inset:0;
				background-size:cover;
				background-position:center center;
				transform-origin:center center;
				z-index:0;
			}
			.invx-locations__bg.invx-locations__bg--kenburns {
				animation: invx-kenburns 20000ms ease-in-out infinite alternate;
			}
			.invx-locations__inner {
				position:relative;
				z-index:1;
				max-width:1200px;
				margin:0 auto;
				display:flex;
				flex-wrap:wrap;
				justify-content:center;
				gap:2.5rem;
			}

			.invx-countdown,
			.invx-gift-registry,
			.invx-parents-gallery,
			.invx-rsvp {
				position:relative;
				overflow:hidden;
			}
			.invx-countdown__bg,
			.invx-gift-registry__bg,
			.invx-parents-gallery__bg,
			.invx-rsvp__bg {
				position:absolute;
				inset:0;
				background-size:cover;
				background-position:center center;
				transform-origin:center center;
				z-index:0;
			}
			.invx-countdown__inner,
			.invx-gift-registry__inner,
			.invx-parents-gallery__inner,
			.invx-rsvp__inner {
				position:relative;
				z-index:1;
			}
			.invx-countdown__bg--kenburns,
			.invx-gift-registry__bg--kenburns,
			.invx-parents-gallery__bg--kenburns,
			.invx-rsvp__bg--kenburns {
				animation: invx-kenburns 20000ms ease-in-out infinite alternate;
			}
			.invx-location-card {
				background:transparent;
				border-radius:0;
				box-shadow:none;
				display:flex;
				flex-direction:column;
				align-items:center;
				text-align:center;
			}
			.invx-location-card__image {
				position:relative;
				width:470px;
				height:400px;
				max-width:100%;
				border-radius:50%;
				background:#ffffff;
				box-shadow:0 20px 45px rgba(15, 23, 42, 0.18);
				padding:18px;
				margin:0 auto 1.25rem;
				display:flex;
				align-items:center;
				justify-content:center;
			}
			.invx-location-card__map-link,
			.invx-location-card__image-only {
				display:block;
				width:360px;
				height:360px;
				max-width:100%;
				max-height:100%;
				margin:0 auto;
				border-radius:50%;
				overflow:hidden;
				position:relative;
			}
			.invx-location-card__image img {
				display:block;
				width:100%;
				height:100%;
				object-fit:cover;
				border-radius:50%;
				transition:transform 0.35s ease;
			}


			.invx-location-card__map-link {
				text-decoration:none;
			}
			.invx-location-card__overlay-label {
				position:absolute;
				left:50%;
				top:50%;
				transform:translate(-50%, -50%);
				padding:0.45rem 1.1rem;
				background:rgba(0,0,0,0.55);
				color:#ffffff;
				font-size:0.75rem;
				text-transform:uppercase;
				letter-spacing:0.16em;
				border-radius:999px;
				opacity:0;
				transition:opacity 0.25s ease;
				white-space:nowrap;
			}

			.invx-location-card__map-link:hover img {
				transform:scale(1.06);
			}
			.invx-location-card__map-link:hover .invx-location-card__overlay-label {
				opacity:1;
			}
			.invx-location-card__content {
				max-width:440px;
				margin:0 auto;
				padding:0;
			}

			.invx-location-card__title {
				margin: 0 0 0.25rem;
				background: var(--invx-locations-card-bg, rgba(240,248,255,0.43));
				padding: 20px;
				font-size: 4rem;
				font-weight: 400;
				font-family: "Great Vibes", cursive;
				border-radius: 30px;
			}

			.invx-location-card__subtitle {
				margin:0 0 0.5rem;
				font-size:0.85rem;
				color:#6b7280;
				background: var(--invx-locations-card-bg, rgba(240,248,255,0.43));
				border-radius: 30px;
				padding: 12px 20px;
			}
			.invx-location-card__address {
				margin:0;
				font-size:0.85rem;
				line-height:1.6;
				color:#374151;
				background: var(--invx-locations-card-bg, rgba(240,248,255,0.43));
				border-radius: 30px;
				padding: 12px 20px;
			}
			
			.invx-location-card__link {
				margin:0.9rem 0 0;
			}
			.invx-location-card__map-link-text {
				display:inline-block;
				padding:0.45rem 1.1rem;
				border-radius:999px;
				border:1px solid #111827;
				font-size:0.8rem;
				text-decoration:none;
				color:#111827;
			}
			.invx-location-card__map-link-text:hover {
				background:#111827;
				color:#ffffff;
			}

			/* Galería secundaria (carrusel bajo direcciones) */
			.invx-gallery-secondary {
				background:#ffffff;
				color:#111827;
				padding:4rem 1.5rem 4rem;
			}
			.invx-gallery-secondary__inner {
				max-width:100%;
				margin:0 auto;
			}
			.invx-gallery-secondary__viewport {
				overflow:hidden;
				width:100%;
			}

			.invx-gallery-secondary__track {
				display:flex;
				gap:1rem;
				transition:transform 600ms ease;
				will-change:transform;
			}
			.invx-gallery-secondary__slide {
				flex:0 0 33.3333%;
			}
			.invx-gallery-secondary__image-wrap {
				border-radius:18px;
				overflow:hidden;
				box-shadow:0 12px 30px rgba(15, 23, 42, 0.12);
				background:#f9fafb;
			}
			.invx-gallery-secondary__image-wrap img {
				display:block;
				width:100%;
				height:auto;
				object-fit:cover;
				transition: filter 250ms ease;
			}
			.invx-gallery-secondary__image-wrap:hover img {
				filter: none;
			}

			@media (max-width: 1023.98px) {
				.invx-gallery-secondary__slide {
					flex:0 0 50%;
				}
			}
			@media (max-width: 639.98px) {
				.invx-gallery-secondary__track {
					gap:0;
				}
				.invx-gallery-secondary__slide {
					flex:0 0 100%;
				}
			}

			.invx-gallery-secondary__lightbox {
				position:fixed;
				inset:0;
				background:rgba(0,0,0,0.82);
				display:none;
				align-items:center;
				justify-content:center;
				z-index:9999;
				padding:1.5rem;
			}
			.invx-gallery-secondary__lightbox.is-active {
				display:flex;
			}
			.invx-gallery-secondary__lightbox-inner img {
				display:block;
				max-width:90vw;
				max-height:90vh;
				border-radius:12px;
				box-shadow:0 18px 45px rgba(0,0,0,0.45);
			}

						/* Mesa de regalos */
						.invx-gift-registry {
							background:#ffffff;
							color:#111827;
							padding:4rem 1.5rem 4rem;
						}
						.invx-gift-registry__inner {
							max-width:1200px;
							margin:0 auto;
							display:flex;
							flex-wrap:wrap;
							justify-content:center;
							gap:2rem;
						}
						.invx-gift-registry__heading {
							margin:0 0 2rem;
							font-size:4rem;
							font-weight:400;
							color:#111827;
							font-family:"Great Vibes", cursive;
							text-align:center;
							flex:0 0 100%;
						}
						.invx-gift-card {
							background:#ffffff;
							border-radius:18px;
							box-shadow:0 12px 30px rgba(15,23,42,0.12);
							padding:1.5rem 1.75rem;
							display:flex;
							flex-direction:row;
							align-items:flex-start;
							text-align:left;
							max-width:360px;
							width:100%;
						}
						.invx-gift-card__logo {
							width:250px;
							height:137px;
							border-radius:50%;
							overflow:hidden;
							margin-bottom:1rem;
							background:#f3f4f6;
							display:flex;
							align-items:center;
							justify-content:center;
						}
						.invx-gift-card__logo img {
							display:block;
							width:100%;
							height:100%;
							object-fit:contain;
						}
						.invx-gift-card__content {
							width:100%;
						}
						.invx-gift-card__title {
							margin:0 0 0.25rem 20px;
							font-size:1.2rem;
							font-weight:600;
						}
						.invx-gift-card__subtitle {
							margin:0 0 0.5rem;
							font-size:0.9rem;
							color:#6b7280;
						}
						.invx-gift-card__description {
							margin:0 0 0.75rem 20px;
							font-size:0.9rem;
							line-height:1.6;
							color:#374151;
						}
						.invx-gift-card__link {
							margin:0.5rem 0 0 20px;
						}
						.invx-gift-card__button {
							display:inline-block;
							padding:0.5rem 1.2rem;
							border-radius:999px;
							background:#111827;
							color:#ffffff;
							font-size:0.85rem;
							text-decoration:none;
						}

						.invx-countdown .invx-countdown__rsvp-cta .invx-gift-card__button {
							background:var(--invx-countdown-accent, #111827);
						}

						.invx-gift-card__button:hover {
							opacity:0.9;
						}
			
			
						@keyframes invx-kenburns {
							0% {
								transform: scale(1.05) translate3d(0, 0, 0);
							}
							100% {
								transform: scale(1.15) translate3d(4%, -4%, 0);
							}
						}
			


	/* Galería de padres y padrinos */
	.invx-parents-gallery {
		background:transparent;
		color:#111827;
		padding:4rem 1.5rem 8rem;
	}
	.invx-parents-gallery__inner {
		max-width:1600px;
		margin:0 auto;
	}

			.invx-parents-gallery__heading,
			.invx-rsvp__heading {
				margin:0 0 2rem;
				font-size:4rem;
				font-weight:400;
				font-family:"Great Vibes", cursive;
				text-align:center;
			}

			.invx-parents-gallery__grid {
				display:flex;
				flex-wrap:wrap;
				justify-content:center;
				align-items:flex-start;
				gap:2rem;
			}
			.invx-parents-card {
				background:#ffffff;
				border-radius:18px;
				box-shadow:0 12px 30px rgba(15,23,42,0.12);
				padding:1.25rem 1.25rem 1.5rem;
				display:flex;
				flex-direction:column;
				align-items:center;
				text-align:center;
				max-width:400px;
				width:100%;
			}
			.invx-parents-card__image {
				margin:0 0 0.75rem;
				width:100%;
				aspect-ratio:1 / 1;
				overflow:hidden;
			}
			.invx-parents-card__image img {
				display:block;
				width:100%;
				height:100%;
				object-fit:cover;
			}
			.invx-parents-card__caption {
				margin:0;
				font-size:0.95rem;
				line-height:1.5;
				color:#374151;
			}
			.invx-parents-gallery h2.invx-parents-gallery__heading {
				margin:0 0 2rem;
				font-size:4rem;
				font-weight:400;
				font-family:"Great Vibes", cursive;
			}

			/* Sección RSVP */
			.invx-rsvp {
				background:transparent;
				color:#111827;
				padding:4rem 1.5rem 4rem;
			}
			.invx-rsvp__inner {
				max-width:1200px;
				margin:0 auto;
			}

			.invx-rsvp__grid {
				display:flex;
				flex-wrap:nowrap;
				gap:2rem;
				align-items:center;
			}
			.invx-rsvp__col {
				min-width:0;
			}
			.invx-rsvp__col--image {
				flex:0 0 40%;
				max-width:40%;
			}
			.invx-rsvp__col--form {
				flex:0 0 60%;
				max-width:60%;
			}
			.invx-rsvp__image img {
				display:block;
				width:100%;
				height:auto;
				border-radius:18px;
			}
			.invx-rsvp__shortcode {
				background:transparent;
				border-radius:0;
				box-shadow:none;
				padding:0;
			}
			@media (max-width: 767.98px) {
				.invx-rsvp__grid {
					flex-direction:column;
				}
				.invx-rsvp__col--image,
				.invx-rsvp__col--form {
					flex:0 0 100%;
					max-width:100%;
				}
				.invx-rsvp__col--form {
					display:flex;
					justify-content:center;
				}
				.invx-rsvp__shortcode {
					width:fit-content;
					max-width:100%;
				}
			}



/* Control de audio para video en cuenta regresiva */
			.invx-countdown__media {
				position:relative;
			}
			.invx-countdown__media video.invx-countdown__video {
				display:block;
				width:100%;
				height:auto;
				border-radius:8px;
			}
			.invx-countdown__audio-toggle {
				position:absolute;
				right:1.75rem;
				top:1.75rem;
				width:36px;
				height:36px;
				border-radius:999px;
				border:none;
				background:rgba(17,24,39,0.85);
				color:#ffffff;
				display:flex;
				align-items:center;
				justify-content:center;
				cursor:pointer;
				font-size:16px;
				box-shadow:0 6px 15px rgba(15,23,42,0.35);
				padding:0;
			}
			.invx-countdown__audio-toggle::before {
				content:'🔈';
			}
			.invx-countdown__audio-toggle--on::before {
				content:'🔊';
			}
			.invx-countdown__audio-toggle:focus {
				outline:2px solid #ffffff;
				outline-offset:2px;
			}
			.invx-invitacion {
				background-color: transparent;
				max-width: none;
				margin: 0;
				width: 100%;
			}


			/* Secciones a ancho completo de pantalla (full bleed) */
			#inv-sec-001-galeria,
			#inv-sec-002-countdown,
			#inv-sec-003-locations,
			#inv-sec-004-gallery-secondary,
			#inv-sec-005-gift-registry,
			#inv-sec-006-parents-gallery,
			#inv-sec-007-rsvp {
				position: relative;
				left: 50%;
				right: 50%;
				margin-left: -50vw;
				margin-right: -50vw;
				width: 100vw;
				max-width: 100vw;
			}			

			.invx-after-image {
				position: relative;
				left: 50%;
				right: 50%;
				margin-left: -50vw;
				margin-right: -50vw;
				width: 100vw;
				max-width: 100vw;
			}

			.invx-invitacion--editor-preview .invx-after-image {
				left: auto;
				right: auto;
				margin-left: 0;
				margin-right: 0;
				width: 100%;
				max-width: 100%;
			}

			.invx-invitacion--editor-preview [id^="inv-sec-"] {
				left: auto !important;
				right: auto !important;
				margin-left: 0 !important;
				margin-right: 0 !important;
				width: 100% !important;
				max-width: 100% !important;
				transform: none !important;
			}

			.invx-after-image img {
				display:block;
				width:100%;
				height:auto;
			}	
				

			.invx-toolbar {
				position: -webkit-sticky;
				position: sticky;
				top: 0;
				z-index: 50;
				background: transparent;
				backdrop-filter: none;
				overflow: visible;
				box-shadow: 0 0 22px rgba(0, 0, 0, 0.25);
			}
			
			.invx-toolbar::before {
				content: '';
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
				width: 100vw;
				height: 100%;
			background: var(--invx-menu-bg, rgba(255, 255, 255, 0.95));
				backdrop-filter: blur(6px);
				z-index: -1;
			}

			.invx-invitacion--editor-preview .invx-toolbar::before {
				left: 0 !important;
				transform: none !important;
				width: 100% !important;
			}
			
			.invx-toolbar--sticky {
				/* La clase extra permite ajustes futuros si hace falta */
			}

			/* En el editor, que la barra no invada la barra lateral */
			.invx-editor .invx-toolbar {
				background: transparent;
				backdrop-filter: none;
			}

			.invx-editor .invx-toolbar::before {
				display: block;
				left: 0;
				transform: none;
				width: 100%;
				max-width: 100%;
			}

			body.admin-bar .invx-toolbar {
				position: -webkit-sticky;
				position: sticky;
				top: 0px;
				box-shadow: 0 0 22px rgba(0, 0, 0, 0.25);
			}

			
			@media (max-width: 782px) {
				body.admin-bar .invx-toolbar {
					top: 0px;
				}
		

				body.admin-bar .invx-invitacion {
					padding-top: 0px;
				}
			}


			

			.invx-toolbar__inner {
				max-width: 1200px;
				margin: 0 auto;
				padding: 0.75rem 1.5rem;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				box-sizing: border-box;
				row-gap: 0.5rem;
			}

			.invx-toolbar__menu {
				width: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			/* Menú principal */
			.invx-menu {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				gap: 1.5rem;
				font-family: inherit;
			}

			.invx-menu__side {
				flex: 1 1 0;
				display: flex;
				align-items: center;
			}

			.invx-menu__side--left {
				justify-content: flex-end;
			}

			.invx-menu__side--right {
				justify-content: flex-start;
			}

			.invx-invitacion .invx-menu__list {
				display: flex;
				align-items: center;
				justify-content: center;
				list-style: none;
				margin: 0;
				padding: 0 !important;
				flex-wrap: nowrap;
				height: 100%;
			}


			.invx-menu__item {
				display: flex;
				align-items: center;
				text-wrap: nowrap;
			}

			.invx-menu__link {
				display: inline-block;
				text-decoration: none;
				font-size: 0.95rem;
				color: #222222;
				letter-spacing: 0.02em;
				padding: 0.25rem 0;
			}


			.invx-menu__link:hover {
				text-decoration: underline;
			}

			/* Separador tipo rombo */
			.invx-menu__separator {
				display: inline-block;
				width: 6px;
				height: 6px;
				margin: 0 0.75rem;
				background-color: #f15b81;
				transform: rotate(45deg);
				border-radius: 1px;
			}

			/* Logo central */
			.invx-menu__center {
				flex: 0 0 auto;
				display: flex;
				justify-content: center;
				align-items: center;
			}

			.invx-menu__logo {
				width: 60px;
				height: 60px;
				border-radius: 999px;
				background: #fbd3df;
				display: flex;
				justify-content: center;
				align-items: center;
				overflow: hidden;
			}

			.invx-menu__logo img {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

			/* Botón de menú móvil */
			.invx-menu__toggle {
				display: none;
				width: 36px;
				height: 36px;
				border-radius: 999px;
				border: none;
				background: rgba(17, 24, 39, 0.85);
				color: #ffffff;
				align-items: center;
				justify-content: center;
				flex-direction: column;
				cursor: pointer;
				padding: 0;
				box-shadow: 0 6px 15px rgba(15, 23, 42, 0.35);
			}

			@media (min-width: 768.02px) {
				.invx-toolbar .invx-menu__toggle {
					display: none !important;
				}
			}


			.invx-menu__toggle:focus {
				outline: 2px solid #111827;
				outline-offset: 2px;
			}

			.invx-menu__toggle-bar {
				display: block;
				width: 18px;
				height: 2px;
				border-radius: 999px;
				background-color: currentColor;
			}

			.invx-menu__toggle-bar + .invx-menu__toggle-bar {
				margin-top: 3px;
			}

			/* Contenedor de controles de audio (fila completa) */
			.invx-toolbar__audio {
				width: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 0.5rem;
			}

			/* Ajuste responsive básico */
			@media (max-width: 768px) {
				.invx-toolbar__inner {
					row-gap: 0;
					flex-direction: row;
					flex-wrap: nowrap;
					align-items: center;
					justify-content: space-between;
					position: relative;
					column-gap: 0.75rem;
				}
			
				.invx-toolbar__menu {
					justify-content: flex-end;
					position: static;
					width: auto;
					order: 2;
					flex: 0 0 auto;
					margin-left: auto;
				}

				.invx-toolbar .invx-toolbar__audio {
					width: auto;
					justify-content: flex-start;
					order: 1;
					flex: 1 1 auto;
					min-width: 0;
				}
			
				/* Panel de menú tipo ventana modal bajo la barra */
				.invx-menu {
					position: absolute;
					left: 0;
					right: 0;
					top: 100%;
					margin-top: 0.5rem;
					background: rgba(0, 0, 0, 0.8);
					border-radius: 18px;
					box-shadow: 0 18px 45px rgba(15, 23, 42, 0.25);
					padding: 1.5rem 1.25rem 1.75rem;
					flex-direction: column;
					align-items: stretch;
					justify-content: flex-start;
					max-height: calc(100vh - 96px);
					overflow-y: auto;
					opacity: 0;
					visibility: hidden;
					pointer-events: none;
					transition: opacity 160ms ease-out, visibility 160ms ease-out;
				}
			
				.invx-toolbar--menu-open .invx-menu {
					opacity: 1;
					visibility: visible;
					pointer-events: auto;
				}
			
				/* Sólo texto en móvil: ocultar logo del menú */
				.invx-menu__logo,
				.invx-menu__center {
					display: none;
				}
			
				.invx-menu__toggle {
					display: inline-flex !important;
				}
			
				.invx-menu__side {
					flex: 0 0 auto;
					width: 100%;
					justify-content: flex-start;
				}
			
				.invx-invitacion .invx-menu__list {
					flex-direction: column;
					align-items: flex-start;
					justify-content: flex-start;
					row-gap: 0.75rem;
					height: auto;
				}
			
				.invx-menu__item {
					width: 100%;
				}
			
				.invx-menu__link {
					width: 100%;
					padding: 0.35rem 0;
					font-size: 1rem;
				}
			
				/* Sin separadores en layout vertical */
				.invx-menu__separator {
					display: none;
				}
			}



		/* ============================
		   Overlay (fullscreen)
		   ============================ */
		.invx-overlay {
			position: fixed;
			inset: 0;
			z-index: 9999;
			background: #000;
			display: flex;
			align-items: center;
			justify-content: center;
			opacity: 1;
			visibility: visible;
			transition: opacity 240ms ease, visibility 240ms ease;
		}
		
		.invx-overlay--hidden {
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
		}
		
		.invx-overlay__media {
			position: absolute;
			inset: 0;
			width: 100%;
			height: 100%;
		}
		
		.invx-overlay__image,
		.invx-overlay__video {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		
		.invx-overlay__media--desktop { display: block; }
		.invx-overlay__media--mobile { display: none; }
		
		.invx-overlay__hint {
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
			padding: 10px 14px;
			border-radius: 999px;
			background: rgba(0,0,0,0.55);
			color: #fff;
			font-size: 14px;
			letter-spacing: 0.02em;
		}
		
		.invx-overlay__hint strong {
			font-weight: 700;
		}
		
		@media (max-width: 767.98px) {
			.invx-overlay__media--desktop { display: none; }
			.invx-overlay__media--mobile { display: block; }
		}
		
		/* ============================
		   Audio player (toolbar)
		   ============================ */
		
		   .invx-toolbar__audio {
			display: flex;
			align-items: center;
			gap: 10px;
		}
		
		.invx-audio-player {
			display: flex;
			align-items: center;
			gap: 10px;
			width: 100%;
			min-width: 0;
			padding: 8px 10px;
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.22);
			backdrop-filter: blur(6px);
			-webkit-backdrop-filter: blur(6px);
		}
		
		.invx-audio-player__btn {
			appearance: none;
			border: 2px solid rgba(236,72,153,0.95);
			background: rgba(236,72,153,0.95);
			color: #fff;
			width: 34px;
			height: 34px;
			border-radius: 999px;
			padding: 0;
			cursor: pointer;
			position: relative;
			flex: 0 0 auto;
			overflow: hidden;
			text-indent: -9999px;
			white-space: nowrap;
		}
		
		.invx-audio-player__btn::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-42%, -50%);
			width: 0;
			height: 0;
			border-top: 7px solid transparent;
			border-bottom: 7px solid transparent;
			border-left: 11px solid rgba(255,255,255,0.95);
		}
		
		.invx-audio-player__btn.is-on::before {
			transform: translate(-50%, -50%);
			width: 10px;
			height: 10px;
			border: 0;
			background: rgba(255,255,255,0.95);
			border-radius: 2px;
		}
		
		.invx-audio-player__btn:disabled {
			opacity: 0.55;
			cursor: not-allowed;
		}
		
		.invx-audio-player__btn:focus {
			outline: none;
			box-shadow: 0 0 0 3px rgba(255,255,255,0.22);
		}
		
		.invx-audio-player__meta {
			display: flex;
			align-items: center;
			gap: 10px;
			min-width: 0;
			flex: 1 1 auto;
		}
		
		.invx-audio-player__title {
			font-size: 12px;
			line-height: 1;
			font-weight: 700;
			max-width: 160px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
		
		.invx-audio-player__time {
			font-size: 12px;
			line-height: 1;
			opacity: 0.95;
			white-space: nowrap;
			font-variant-numeric: tabular-nums;
			flex: 0 0 auto;
		}
		
		.invx-audio-player__progress {
			appearance: none;
			-webkit-appearance: none;
			width: 100%;
			min-width: 120px;
			max-width: 44vw;
			height: 6px;
			border-radius: 999px;
			background: rgba(255,255,255,0.35);
			cursor: pointer;
			flex: 1 1 auto;
		}
		
		.invx-audio-player__progress:disabled {
			opacity: 0.45;
			cursor: not-allowed;
		}
		
		.invx-audio-player__progress:focus {
			outline: none;
		}
		
		.invx-audio-player__progress::-webkit-slider-runnable-track {
			height: 6px;
			border-radius: 999px;
			background: rgba(255,255,255,0.35);
		}
		
		.invx-audio-player__progress::-webkit-slider-thumb {
			-webkit-appearance: none;
			width: 14px;
			height: 14px;
			border-radius: 999px;
			background: rgba(255,255,255,0.95);
			border: 2px solid rgba(236,72,153,0.95);
			margin-top: -4px;
		}
		
		.invx-audio-player__progress::-moz-range-track {
			height: 6px;
			border-radius: 999px;
			background: rgba(255,255,255,0.35);
		}
		
		.invx-audio-player__progress::-moz-range-thumb {
			width: 14px;
			height: 14px;
			border-radius: 999px;
			background: rgba(255,255,255,0.95);
			border: 2px solid rgba(236,72,153,0.95);
		}
/* === Dynamic invitation menu === */
.invx-dynamic-section { scroll-margin-top: 84px; }
.invx-dynamic-menu--default {
	position: sticky;
	top: 0;
	z-index: 80;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:10px 18px;
	background:rgba(255,255,255,.94);
	backdrop-filter: blur(12px);
	border-bottom:1px solid rgba(20,39,71,.10);
}
.invx-dynamic-menu--default .invx-dynamic-menu__links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; }
.invx-dynamic-menu--default a { color:#0f2747; text-decoration:none; font-size:14px; font-weight:600; }
.invx-dynamic-menu--default a:hover { color:#4a5563; }
.invx-dynamic-menu__toggle { display:none; border:0; background:#0f2747; color:#fff; border-radius:9px; padding:9px 14px; font:inherit; }
@media (max-width:760px){
	.invx-dynamic-menu--default { justify-content:flex-end; min-height:58px; }
	.invx-dynamic-menu--default .invx-dynamic-menu__toggle { display:inline-flex; }
	.invx-dynamic-menu--default .invx-dynamic-menu__links { display:none; position:absolute; top:calc(100% + 8px); right:12px; left:12px; background:#fff; border:1px solid #e3e7ec; border-radius:12px; padding:10px; box-shadow:0 12px 30px rgba(20,39,71,.14); }
	.invx-dynamic-menu--default.is-open .invx-dynamic-menu__links { display:flex; flex-direction:column; align-items:stretch; }
	.invx-dynamic-menu--default a { padding:10px 12px; border-radius:8px; }
	.invx-dynamic-menu--default a:hover { background:#f3f5f7; }
}

/* =========================================================
   Controles globales de música del overlay
   ========================================================= */
.invx-audio-floating {
	position:fixed;
	left:18px;
	bottom:18px;
	z-index:9980;
	display:flex;
	align-items:center;
	gap:8px;
	padding:7px;
	border-radius:999px;
	background:rgba(12,22,36,.72);
	box-shadow:0 10px 28px rgba(0,0,0,.22);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}
.invx-audio-floating__btn {
	appearance:none;
	width:40px;
	height:40px;
	border:1px solid rgba(255,255,255,.34);
	border-radius:50%;
	background:rgba(255,255,255,.12);
	color:#fff;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:16px;
	line-height:1;
	cursor:pointer;
	transition:background .18s ease, transform .18s ease;
}
.invx-audio-floating__btn:hover {
	background:rgba(255,255,255,.22);
	transform:translateY(-1px);
}
.invx-audio-floating__btn:disabled {
	opacity:.45;
	cursor:default;
	transform:none;
}
@media (max-width:767.98px) {
	.invx-audio-floating {
		left:12px;
		bottom:12px;
	}
	.invx-audio-floating__btn {
		width:38px;
		height:38px;
	}
}
