/* Estilos del sitio que no puede dar Elementor gratuito. Antes: CSS adicional del Personalizador y style.css del tema hijo. */

/* === Formularios Fluent Forms (sustituyen al Form de Elementor Pro) === */
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5), :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control, :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn { font-family: Inter, sans-serif; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-group { margin-bottom: 10px; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-t-container { gap: 10px; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-t-container .ff-t-cell { padding-left: 0 !important; padding-right: 0 !important; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-t-container .ff-t-cell .ff-el-group { margin-bottom: 0; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-t-container { margin-bottom: 10px; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-input--label { margin-bottom: 5px; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-input--label label { color: #F0EFED; font-size: 14.4px; font-weight: 400; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control {
  background: #565553; color: #C9C7C4; border: 1.6px solid #6B6966; border-radius: 10px;
  font-size: 14.4px; font-weight: 400; padding: 5px 14px; height: 40px; box-shadow: none;
}
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) textarea.ff-el-form-control { height: 93.84px; min-height: 93.84px; } /* 4 líneas, como el Form de Pro */
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control::placeholder { color: #C9C7C4; opacity: 1; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control:focus { background: #565553; color: #F0EFED; border-color: #C9C7C4; box-shadow: none; outline: none; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff_submit_btn_wrapper { margin-bottom: 0; }
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit, :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit:hover, :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit:focus {
  width: 100%; height: 40px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: #262626 !important; color: #F0EFED !important; border: 1.6px solid #C9C7C4 !important; border-radius: 10px;
  font-size: 14.4px; font-weight: 400; text-transform: none; opacity: 1; box-shadow: none;
}
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit::before {
  content: ""; width: 14px; height: 14px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
:is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .error.text-danger { color: #ff8a80; font-size: 13px; }
.ff-message-success { background: transparent; color: #F0EFED; border: 1.6px solid #C9C7C4; border-radius: 10px; font-family: Inter, sans-serif; box-shadow: none; }

.elementor-widget-shortcode:has(.frm-fluent-form) { width: 100%; max-width: 100%; align-self: stretch; }

/* Variante clara (formulario del inicio): clase ff-claro en el widget */
.ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control, .ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control:focus { background: #F0EFED; color: #262626; border: 0; }
.ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-el-form-control::placeholder { color: #262626; opacity: .6; }
.ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) textarea.ff-el-form-control { height: 90.64px; min-height: 90.64px; }
.ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit, .ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit:hover, .ff-claro :is(.fluent_form_3,.fluent_form_4,.fluent_form_5) .ff-btn.ff-btn-submit:focus { border: 0 !important; }
.elementor-widget-shortcode.ff-claro { max-width: 852px !important; align-self: center; margin-left: auto; margin-right: auto; }

/* === Hero de la home (sustituye al Nested Carousel de Elementor Pro) === */
/* Antes de arrancar el carrusel solo se ve el primer slide (evita el salto de 5 slides apilados) */
body:not(.elementor-editor-active) .brotons-hero:not(.swiper) > .e-con:not(:first-child) { display: none; }
.brotons-hero.swiper { display: block; width: 100%; overflow: hidden; }
.brotons-hero > .swiper-wrapper > .e-con { flex-shrink: 0; max-width: none; }
.brotons-hero .swiper-pagination { bottom: 15px !important; line-height: 0; }
.brotons-hero .swiper-pagination-bullet { width: 15px; height: 15px; margin: 0 6px !important; background: #FFFFFF; opacity: .2; transition: background .2s, opacity .2s; }
.brotons-hero .swiper-pagination-bullet-active { opacity: 1; }
.brotons-hero .swiper-pagination-bullet:hover { background: #7B2F3D; opacity: 1; }
.brotons-hero .elementor-social-icon svg { transition: all .33s; }
@media (max-width: 900px) { .brotons-hero .swiper-pagination-bullet { width: 10px; height: 10px; } }

/* === Tarjetas de categorías de la home (sustituyen al Loop Grid de Elementor Pro) === */
/* "Ver más" aparece al pasar por la tarjeta; el velo con "Ver espectáculos" al pasar por la imagen */
.brotons-cat-card .bc-ver { opacity: 0; transition: opacity 0.3s; }
.brotons-cat-card:hover .bc-ver { opacity: 1; transition: opacity 0.3s; }
.brotons-cat-card .bc-overlay { opacity: 0; transition: opacity 0.5s; }
.brotons-cat-card .bc-overlay:hover { opacity: 1; transition: opacity 0.3s; }

/* Tarjeta del hero en móvil: deja de ser absoluta y se centra debajo */
@media (max-width: 767px) {
	#hero-card {
		position: static !important;
		inset: auto !important;
		transform: none !important;
		width: 100%;
		max-width: 400px;
		margin: 2rem auto 0;
	}
}
