:root {
  --tec-border-radius-default: 5px;
}

/* Ocultar RSVP y Tickets solo en el contenido principal, pero no en el modal creado por el botón */
#tribe-events-content .tribe-common.event-tickets,
#tribe-events-content .tribe-common.event-tickets.tribe-tickets__tickets-wrapper {
  display: none;
}

/*------RSVP------*/

.tribe-tickets__rsvp-ar-form-title.tribe-common-h5 {
	display: none;
}

.tribe-tickets__rsvp-ar-form-wrapper.tribe-common-g-col {
	width: 100%!important;
}

#tribe-tickets_19854_whatsapp_0 {
	padding-left: 60px;
}

.iti__selected-flag {
	position: relative;
	width: 60px;
}

.iti__selected-flag .iti__flag {
	position: absolute;
	left: 20px;
}

.iti__country-list .iti__country {
	padding: 8px!important;
}

.iti__flag-box, .iti__country-name {
	margin-right: 8px!important;
}

.tribe-tickets__rsvp-ar-sidebar-wrapper.tribe-common-g-col {
	display: none!important;
}

/*----------------*/

/* Cambio de estilo en botón "Join Event" */

.tribe-event-list-block.v2 .event-action a {
	border-radius: var(--tec-border-radius-default);
	text-align: center;
	font-size: 15px;
	font-weight: var(--tec-font-weight-bold)!important;
	text-transform: none!important;
	letter-spacing: normal!important;
	word-spacing: normal!important;
}

/* -------------------------------- */

/* Padding bajo botones de "Eventos anteriores" y "Eventos siguientes" */

.tribe-events-calendar-list-nav.tribe-events-c-nav {
	padding-bottom: 32px;
}

.tribe-events-single {
  margin-top: 40px!important;
}

.tribe-tickets__tickets-form,
.tribe-tickets__rsvp-wrapper {
  max-width: none !important;
}

.tribe-events-c-subscribe-dropdown {
	width:100%!important;
	margin: 0 !important;
}

.tribe-events-c-subscribe-dropdown__content {
  bottom: 100% !important;
  top: auto !important;
  margin-bottom: 12px!important; /* separa un poco del botón */
  margin-top: 0 !important;
}

.tribe-common-c-btn-border {
	width:100%!important;
	border: none!important;
}

.tribe-tickets__tickets-item-content-title-container {
  grid-row: 1 / span 2 !important;
  display: flex !important;
  align-self: center !important;
}

.tribe-common .tribe-dialog__wrapper {
  z-index: 3001;
}

/* --- NUEVO: contenedor de botones --- */
#custom-btn-wrapper {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 20px;
  left: 0;
  width: 100%;
  padding: 0 var(--tec-spacer-3);
  z-index: 3100;
  box-sizing: border-box;
}

/* --- NUEVO: estilo unificado de los botones --- */
#custom-sticky-btn {
	background-color: var(--tec-color-link-primary);
	border: 1px solid white;
	border-radius: var(--tec-border-radius-default);
	color: white;
	text-align: center;
    transition: var(--tec-transition);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
}


#custom-btn-wrapper .tribe-events.tribe-common {
  background-color: var(--tec-color-button-primary);
  border: 1px solid white;
  border-radius: var(--tec-border-radius-default);
  color: white;
  text-align: center;
  transition: var(--tec-transition);
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
}

#custom-sticky-btn:hover,
#custom-btn-wrapper .tribe-events.tribe-common:hover {
  background-color: var(--tec-color-link-primary);
  border-color: var(--tec-color-link-primary);
}

/* Botón de calendario de TEC */
.tribe-common .tribe-common-c-btn-border {
  background-color: var(--tec-color-button-primary);
  color: white;
  transition: var(--tec-transition);
}

.tribe-common .tribe-common-c-btn-border:hover {
  background-color: var(--tec-color-link-primary)!important;
  border-color: var(--tec-color-link-primary);
}


#custom-sticky-btn {
	line-height: 2.74;
	font-size: var(--tec-font-size-2);
	font-weight: var(--tec-font-weight-bold);
	font-family: "Poppins", sans-serif;
	padding: 0px 20px;
}

/* Desktop: botones en fila */
@media (min-width: 1025px) {
  #custom-btn-wrapper {
    flex-direction: row;
    justify-content: flex-start;
  }

  #custom-btn-wrapper > * {
    width: auto;
    flex: 0 0 auto;
  }
}

/* Mobile: botones a full width */
@media (max-width: 1024px) {
  #custom-btn-wrapper {
    flex-direction: column;
  }

  #custom-btn-wrapper > * {
    width: 100%;
  }
}

/* --- NUEVO: modal custom --- */
#custom-modal {
  display: none;
  position: fixed;
  z-index: 3100;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.6);
  overscroll-behavior: contain;
}

#custom-modal-content {
  background: #fff;
  margin: 5% auto;
  padding: 20px;
  border-radius: 10px;
  width: 90%;
  max-width: 720px;
}

#custom-modal-close {
  float: right;
  font-size: 22px;
  font-weight: bold;
  cursor: pointer;
  line-height: 1;
}

#custom-modal-close:hover {
  opacity: .7;
}


/* ============================ */
@media (min-width: 1025px) {
	
  /* Cambio en tamaño de "Eventos relacionados" */
  .tribe-events-single ul.tribe-related-events li:last-child {
	max-width: 30%;
  }
	
  /* Forzar que la fila principal se comporte como flex y estire columnas */
  .tribe-event-content-inner {
    display: flex;
    align-items: stretch; /* columnas con la misma altura */
  }

  /* La columna del mapa */
  .event-single-map {
    display: flex;
    flex-direction: column;
  }

  /* El contenedor interno */
  .event-single-map .content-inner {
    flex: 1; /* ocupar todo */
    display: flex;
    flex-direction: column;
  }

  /* El wrapper del mapa */
  .event-single-map .tribe-events-venue-map {
    flex: 1; /* ocupar todo */
    display: flex;
    flex-direction: column;
  }

  /* El iframe del mapa a full height */
  .event-single-map .tribe-events-venue-map iframe {
    flex: 1;
    width: 100%;
    max-height: none;
    height: 100%; /* sobrescribe el atributo height */
  }

  .custom-breadcrumb {
    margin-bottom: 0;
  }

  .tribe-event-content-inner {
    padding-top: 35px;
    padding-bottom: 35px;
  }

  .event-single-right {
    position: sticky;
    top: 20px; /* distancia desde el top */
    max-height: calc(100vh - 20px); /* evita overflow del viewport */
    overflow-y: auto; /* scroll solo dentro de esta columna */
  }

  .tribe-events-event-image {
    margin-bottom: 0;
  }

  .event-single-right img.galeria-imagen {
    display: block;
    margin-top: 15px;
    width: auto;
  }

  .event-single-left {
	padding-left:0!important;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
  }

  .event-single-left::-webkit-scrollbar,
  .event-single-right::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 1024px) {

	
  .entry .entry-content .event-tickets .tribe-tickets__tickets-item-extra, .event-tickets .tribe-tickets__tickets-item-extra {
    text-align: center;
  }
	
	.tribe-tickets__tickets-sale-price {
		width:100%;
	}
	
	.tribe-common .tribe-common-b2 {
		align-self:center;
	}

  .tribe-event-content-inner > .col-xl-6:first-child {
    padding-top: 35px;
  }

  .tribe-event-content-inner > .col-xl-6:last-child {
    order: -1; /* imágenes antes que texto en celulares */
    padding-top: 35px;
  }

  .event-single-right {
    display: grid;
    grid-template-columns: 1fr; /* por defecto solo 1 columna */
    gap: 15px;
  }

  /* El primer hijo (la imagen grande) ocupa toda la fila */
  .event-single-right > :first-child {
    grid-column: 1 / -1;
  }

  .event-single-right > :first-child > img {
    border-radius: 8px;
  }

  /* El resto de imágenes forman un grid automático */
  .event-single-right > img.galeria-imagen {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
  }

  /* A partir del segundo hijo, re-organizamos en columnas */
  .event-single-right {
    grid-template-columns: repeat(3, 1fr);
  }
}
