/* ── Copiar al portapapeles ── */
.grph-copy {
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.grph-copy::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: #222;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 5px 9px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s;
}
.grph-copy:hover::after,
.grph-copy--copiado::after { opacity: 1; }

/* ── Reproductor de audio ── */
.audio-wrapper {
  background-color: #000000;
  max-height: 10px;
  height: 10px;
  overflow: hidden;
  position: relative;
  z-index: 4;
}

#controls_audio,
#cancionPlay {
  max-height: 0px;
}

/* ***************************************** */
/* SCROLLBAR */
/* ***************************************** */

:root{
	--scrollbar-width: 8px;
	--scrollbar-track-color: #404040;
	--scrollbar-thumb-color: #8c8c8c;
	--scrollbar-thumb-color-hover: #ffffff;
	--scrollbar-thumb-border-radius: 50px;
}
input {
  caret-color: auto; /* o un color visible */
}
body * {
	transition: none;
}
html{
	scroll-behavior: smooth;
	caret-color: transparent;
}
.contendor-invitaciones:before{
	position: fixed !important;
}
/* Estilo del contenedor que contendrá el scroll */
* { 
	scrollbar-width: var(--scrollbar-width);
}
/* Estilo de la barra de desplazamiento */
*::-webkit-scrollbar { 
	width: var(--scrollbar-width);
	height: var(--scrollbar-width);
}
/* Estilo del riel de la barra de desplazamiento */
*::-webkit-scrollbar-track {
	background-color: var(--scrollbar-track-color);
}
/* Estilo del pulgar de la barra de desplazamiento */
*::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb-color);
	border-radius: var(--scrollbar-thumb-border-radius);
}
/* Estilo del pulgar de la barra de desplazamiento cuando se pasa el ratón por encima */
*::-webkit-scrollbar-thumb:hover {
	background-color: var(--scrollbar-thumb-color-hover);
}

/* ***************************************** */
/* SELECCION */
/* ***************************************** */
::-moz-selection { /* Code for Firefox */
	color: #000;
	background: #fff;
}
::selection {
	color: #000;
	background: #fff;
}
/* ***************************************** */
/* GENERALES */
/* ***************************************** */
#add_calendar{
	cursor: pointer;
}
.hide,
.contendor-invitaciones.hide{
	display: none;
}
.contendor-invitaciones>.e-con-inner {
	box-shadow: 0px 0px 50px 0px rgb(0 0 0 / 24%) !important;
}

.sello_animado{
	animation: giro 20s linear infinite;
}

@keyframes giro{
	0%{transform:rotate(0deg);}
	100%{transform:rotate(360deg);}
}

.inConAudio,
.inSinAudio{
	cursor: pointer !important;
}
.elementor-message {
    text-align: center !important;
    padding: 10px 0 0 0;
}
/* ***************************************** */
/* HEIGHT DE SECCIONES EN IW PLANTILLAS*/
/* ***************************************** */
.secc_mobile_height_config{
	min-height: calc(100vh - 30px) !important;
}
@media (max-height: 660px){
	.secc_mobile_height_config{
		min-height: 650px !important;
	}
}

/***********************************/
/* INTRO TOOLTIP */
/***********************************/
.intro_tooltip{
    position: relative !important;
    animation: salto 3s ease-in infinite !important;
}
.intro_tooltip:before{
   content:'';
   width: 0px;
   height: 0px;
   border-style: solid;
   border-width: 9px 8px 0 8px;
   border-color: #000 transparent transparent transparent;
   transform: rotate(0deg);
   top: 100%;
   left:0;
   right: 0;
   margin: auto;
   position: absolute;
}
@keyframes salto {
  0% {
    transform: translateY(0); /* Posición inicial */
  }
  5% {
    transform: translateY(-25px); /* Salto hacia arriba */
  }
  10% {
    transform: translateY(-0px); /* Salto hacia arriba */
  }
  15% {
    transform: translateY(-10px); /* Rebote hacia abajo */
  }
  20% {
    transform: translateY(-0px); /* Salto hacia arriba */
  }
  25% {
    transform: translateY(-5px); /* Rebote hacia abajo */
  }
  30% {
    transform: translateY(0); /* Vuelve a la posición original */
  }
  100% {
    transform: translateY(0); /* Pausa en la posición inicial */
  }
}


/* ***************************************** */
/* COPY AND PASTE */
/* Colocar el Data-copy en el elemento */
/* ***************************************** */

.copiar-texto .icon-copy:after{
	content: 'Copiado';
	padding: 7px 10px;
	font-family: var(--e-global-typography-text-font-family);
	background: #000;
	color: white;
	position: absolute;
	left: calc(100% - 50px);
	right: inherit;
	bottom: -30px;
	margin: auto;
	width: 80px;
	border-radius: 5px;
	z-index: 9999999 !important;
	font-size: 13px;
	opacity: 0;
	transition: all .3s linear;
	text-align: center;
	font-style: normal !important;
}
.en .copiar-texto .icon-copy:after{
	content: 'Copied!' !important;	
}
.copied .icon-copy:after{
	opacity: 1;
}
.copiar-texto .icon-copy{
	background-image: url('https://eventos.graphica.pe/wp-content/uploads/2025/11/file-copy-line.svg');
	background-repeat: no-repeat;
	background-position: center center;
	position: relative !important;
	cursor: pointer !important;
	height: 20px !important;
	width: 20px !important;
	padding: 7px !important;
	display: inline !important;
	background-color: transparent !important;
	border-radius: 4px;
	color: #0000003d;
	transition: all .2s linear;
	z-index: 4 !important;
	margin: 0 4px;
	opacity: 0.8;
}
.copiar-texto .icon-copy:hover{
	color: #000;
}

/* ***************************************** */
/* YOUTUBE*/
/* ***************************************** */

#audioPlayer{
	position: fixed;
	width: 120px;
	margin: 0;
	left:20px;
	bottom: 20px;
	z-index:-999;
	opacity: 0;
}

/* 	INTRO */
#control_play,
#control_pause{
	position: fixed !important;
	bottom: 15px !important;
	width: 42px !important;
	background: #FFF !important;
	border-radius: 50px !important;
	transition: .3s linear !important;
	cursor: pointer !important;
	margin: auto !important;
	left: inherit !important;
	right: 10px !important;
	z-index: 5 !important;
	height: 42px !important;
	box-shadow: 0 0 10px rgb(39 13 36 / 10%);
	overflow: hidden;
	display: none;
}
#control_play.is-active,
#control_pause.is-active{
	display: block !important;
}

#control_pause:after{
	content:'';
	position: absolute;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	margin: auto;
	transform: rotate(-45deg);
	background: #949494;
	width: 2px;
	height: 30px;
}


#controls_audio img {
	display: block !important;
	position: absolute !important;
	width: 80px !important;
	max-width: 80px;
	left: -20px;
	top: -18px;
	filter: grayscale(100%) !important;
}
.modal-yt{
	position: fixed !important;
	top: 0px !important;
	left: 0px !important;
	width: 100% !important;
	height: 100vh !important;
	z-index: 6 !important;
	padding: 20px 0 !important;
}
.ctn-intro{
	cursor: pointer;
}


#ytControls:not(.is_playing) .gr_youtube_pause {
	display: none !important;
}

#yt_player {
	opacity: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	height: 0 !important;
}

#ytControls:not(.is_playing) .gr_youtube_pause,
#ytControls.is_playing .gr_youtube_play,
#ytControls.is_paused .play-button.start {
	display: none !important;
}

/* ***************************************** */
/* FORMULARIOS INVITACIONES VIRTUALES */
/* ***************************************** */

.gForm .elementor-field-group-nombre,
.gForm .elementor-field-group-nombres {
	position: absolute !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}
.gForm .elementor-field-group-pases,
.gForm .elementor-field-group-alimentos,
.gForm .elementor-field-group-asistentes,
.gForm .elementor-field-group-confirmacion .elementor-field-label {
	display: none !important;
}
.gForm .elementor-field-group-pases input {
	width: 90px !important;
	max-width: 90px !important;
	display: block !important;
	border-width: 1px !important;
	border-radius: 0px !important;
	padding: 0 !important;
	text-align: center !important;
}
.gForm .elementor-field-group-pases label {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	font-weight: 600 !important;
}
.gForm .elementor-field-group-pases label:before {
	content: 'Persona(as)';
	position: absolute;
	bottom: 7px;
	left: 105px;
	opacity: 1;
	font-weight: normal !important;
	font-size: 18px !important;
	pointer-events: none !important;
}
.gForm.de .elementor-field-group-pases label:before{
	content: 'Person(en)';
}
.number-wrapper{
	position: relative;
	padding-right: 8px;
}
.number-control{
	padding: 0px;
	position: absolute;
	cursor: pointer !important;
	z-index: 5;
	right: 0;
	top: 0px;
	width: 20px;
	height: 20px;
	line-height: 18px;
	text-align: center;
	display: block;
	background: #eeeeee;
	border: 1px solid #fff;
	pointer-events: auto !important;
}
.number-control.down{
	top: inherit;
	bottom: 0px;
}
.contendor-invitaciones.en .gForm .elementor-field-group-pases label:before {
	content: 'People' !important;
}
.gForm .elementor-field-group-alimentos.active,
.gForm .elementor-field-group-asistentes.active,
.gForm .elementor-field-group-pases.active {
	display: inherit !important;
}
.gForm .elementor-field-type-radio .elementor-field-label {
	margin-bottom: 20px !important;
}
.gForm .elementor-field-type-radio .elementor-field-subgroup {
	gap: 10px !important;
}
.gForm .elementor-field-type-radio .elementor-field-option {
	margin: 0 0 0px 30px !important;
	position: relative !important;
}
.gForm .elementor-field-type-radio .elementor-field-option input {
	opacity: 0 !important;
	position: absolute !important;
}
.gForm .elementor-field-type-radio .elementor-field-option label {
	cursor: pointer !important;
}
.gForm .elementor-field-type-radio .elementor-field-option label:after,
.gForm .elementor-field-type-radio .elementor-field-option label:before {
	content: '' !important;
	position: absolute !important;
	top: 5px !important;
	left: -30px !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #000 !important;
	border-radius: 4px !important;
	transition: all .3s linear !important;
	cursor: pointer !important;
}
.gForm .elementor-field-type-radio .elementor-field-option label:after {
	top: 8px !important;
	left: -27px !important;
	width: 14px !important;
	height: 14px !important;
	border: 0px !important;
	border-radius: 2px !important;
	background: var(--e-global-color-primary) !important;
	opacity: 0 !important;
	visibility: hidden !important;
}
.gForm .elementor-field-type-radio .elementor-field-option input:checked + label:after {
	opacity: 1 !important;
	visibility: visible !important;
}
.gForm .error-message {
	color: #e15050  !important;
	font-size: 18px !important;
	margin: 0px !important;
	padding: 0px !important;
}
.gForm .elementor-message.elementor-message-success {
	position: absolute;
    top: -10px;
    left: -10px;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    background: rgba(255, 255, 255, .95);
    display: flex;
    vertical-align: middle;
    align-items: center;
    margin: 0;
    padding: 0 12px;
}
.elementor-message.elementor-message-success:before{
	display: none !important;
}
.gForm .elementor-message.elementor-message-danger {
	position: relative;
	padding-left: 20px;
	padding-top: 10px;
}
.gForm .elementor-message.elementor-message-danger br{
	display: none;
}
.gForm .elementor-message.elementor-message-danger *{
	text-align: left;
	font-size: 14px;
	line-height: 18px;
}
.gForm .elementor-message.elementor-message-danger:before{
	position: absolute;
	left: -2px;
	top: 10px;
	color: #cf1313 !important;
}
.gForm .error_pases_message:before{
	content: 'Número máximo de pases otorgados:' !important;
}
.en .error_pases_message:before{
	content: 'Maximum number of passes:' !important;
}
.gForm textarea {
	border-radius: 0px !important;
	border: 1px solid #000 !important;
}
.error_doble_envio_confirmacion:after{
	content: 'Ya la haz enviado. Si necesitas más ayuda, por favor ponte en contacto por WhatsApp.' !important;
}
.en .error_doble_envio_confirmacion:after{
	content: 'You already did. If you need further assistance, please contact us via WhatsApp.' !important;
}

/* CLASES PARA AGREGAR */

.buenos-deseos .jet-listing-grid__slider-icon{
	border-radius: 50px;
}