/* La Caja - WP Builder | Kakun Media
   Cuadrícula y elementos básicos (compatibles con las clases de WPBakery). */

.vc_row { margin-left: -15px; margin-right: -15px; }
.vc_row::before, .vc_row::after, .vc_clearfix::before, .vc_clearfix::after { content: " "; display: table; }
.vc_row::after, .vc_clearfix::after { clear: both; }
.vc_row-no-padding .vc_inner { margin-left: 0; margin-right: 0; }
.vc_row[data-vc-full-width] { transition: opacity .5s; overflow: hidden; }
.wpb-content-wrapper { margin: 0; padding: 0; border: none; overflow: unset; display: block; }

.wpb_column { position: relative; min-height: 1px; box-sizing: border-box; }
.vc_column_container > .vc_column-inner { box-sizing: border-box; padding-left: 15px; padding-right: 15px; width: 100%; }
.vc_row.vc_row-no-padding .vc_column-inner { padding-left: 0; padding-right: 0; }
.vc_col-has-fill > .vc_column-inner,
.vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner,
.vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner { padding-top: 35px; }
.vc_column-inner::before, .vc_column-inner::after { content: " "; display: table; }
.vc_column-inner::after { clear: both; }

/* Columnas: en celular ocupan todo el ancho */
[class*="vc_col-"] { position: relative; min-height: 1px; padding-left: 0; padding-right: 0; box-sizing: border-box; width: 100%; }

@media (min-width: 768px) {
	.vc_col-sm-1, .vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-5, .vc_col-sm-6,
	.vc_col-sm-7, .vc_col-sm-8, .vc_col-sm-9, .vc_col-sm-10, .vc_col-sm-11, .vc_col-sm-12,
	.vc_col-sm-1\/5, .vc_col-sm-2\/5, .vc_col-sm-3\/5, .vc_col-sm-4\/5 { float: left; }
	.vc_col-sm-12 { width: 100%; }
	.vc_col-sm-11 { width: 91.66666667%; }
	.vc_col-sm-10 { width: 83.33333333%; }
	.vc_col-sm-9  { width: 75%; }
	.vc_col-sm-8  { width: 66.66666667%; }
	.vc_col-sm-7  { width: 58.33333333%; }
	.vc_col-sm-6  { width: 50%; }
	.vc_col-sm-5  { width: 41.66666667%; }
	.vc_col-sm-4  { width: 33.33333333%; }
	.vc_col-sm-3  { width: 25%; }
	.vc_col-sm-2  { width: 16.66666667%; }
	.vc_col-sm-1  { width: 8.33333333%; }
	.vc_col-sm-1\/5 { width: 20%; }
	.vc_col-sm-2\/5 { width: 40%; }
	.vc_col-sm-3\/5 { width: 60%; }
	.vc_col-sm-4\/5 { width: 80%; }
}

/* Anchos especiales por tamaño de pantalla (opción "offset" de WPBakery) */
.vc_col-xs-12 { float: left; width: 100%; }
.vc_col-xs-6 { float: left; width: 50%; }
@media (min-width: 992px) {
	.vc_col-md-12 { float: left; width: 100%; }
	.vc_col-md-6 { float: left; width: 50%; }
	.vc_col-md-4 { float: left; width: 33.33333333%; }
}
@media (min-width: 1200px) {
	.vc_col-lg-12 { float: left; width: 100%; }
	.vc_col-lg-6 { float: left; width: 50%; }
	.vc_col-lg-4 { float: left; width: 33.33333333%; }
	.vc_col-lg-3 { float: left; width: 25%; }
}

/* Filas flexibles / misma altura */
.vc_row.vc_row-flex { box-sizing: border-box; display: flex; flex-wrap: wrap; }
.vc_row.vc_row-flex::before, .vc_row.vc_row-flex::after { display: none; }
.vc_row.vc_row-flex > .vc_column_container { display: flex; }
.vc_row.vc_row-flex > .vc_column_container > .vc_column-inner { flex-grow: 1; display: flex; flex-direction: column; }
.vc_row.vc_row-o-equal-height > .vc_column_container { align-items: stretch; }
.vc_row.vc_row-o-content-middle > .vc_column_container > .vc_column-inner { justify-content: center; }
.vc_row.vc_row-o-content-bottom > .vc_column_container > .vc_column-inner { justify-content: flex-end; }
@media (max-width: 767px) {
	.vc_row.vc_row-flex > .vc_column_container { width: 100%; }
}

/* Fila a todo lo ancho (se ajusta con front.js) */
.lcb-full-width { position: relative; box-sizing: border-box; }

/* Columnas con fondo */
.vc_col-has-fill > .vc_column-inner, .vc_row-has-fill { background-size: cover; background-position: center; }

/* Elementos */
.wpb_content_element { margin-bottom: 35px; }
.wpb_text_column :last-child { margin-bottom: 0; }
.vc_empty_space { margin: 0; }
.vc_empty_space_inner { display: block; }
.vc_align_left { text-align: left; }
.vc_align_center { text-align: center; }
.vc_align_right { text-align: right; }
.vc_figure { display: inline-block; margin: 0; max-width: 100%; vertical-align: top; }
.vc_single_image-wrapper { display: inline-block; max-width: 100%; vertical-align: top; }
.vc_single_image-img { max-width: 100%; height: auto; display: block; }
.vc_box_circle, .vc_box_circle img { border-radius: 50%; overflow: hidden; }
.vc_box_rounded, .vc_box_rounded img { border-radius: 4px; overflow: hidden; }

/* Galería con transición suave */
.lcb-galeria { position: relative; overflow: hidden; }
.lcb-galeria ul.slides { list-style: none; margin: 0; padding: 0; position: relative; }
.lcb-galeria ul.slides > li { margin: 0; padding: 0; position: absolute; top: 0; left: 0; width: 100%; opacity: 0; transition: opacity .8s ease; z-index: 1; }
.lcb-galeria ul.slides > li.lcb-activo { position: relative; opacity: 1; z-index: 2; }
.lcb-galeria img { display: block; width: 100%; height: auto; }
.lcb-galeria-puntos { text-align: center; margin-top: 10px; }
.lcb-galeria-puntos button { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; margin: 0 4px; background: #ccc; cursor: pointer; }
.lcb-galeria-puntos button.lcb-activo { background: #333; }
.lcb-galeria-cuadricula { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.lcb-galeria-cuadricula img { width: 100%; height: auto; display: block; }

.lcb-separador .vc_sep_line { display: block; border-top: 1px solid rgba(0,0,0,.1); }

/* Ocultar en dispositivos (respaldo por si el tema no lo trae) */
@media (min-width: 1280px) { .vc_empty_space.hide_on_desktop { display: none; } }
@media (min-width: 1024px) and (max-width: 1279px) { .vc_empty_space.hide_on_notebook { display: none; } }
@media (min-width: 768px) and (max-width: 1023px) { .vc_empty_space.hide_on_tablet { display: none; } }
@media (max-width: 767px) { .vc_empty_space.hide_on_mobile { display: none; } }

/* Galería: mismo marco y espacio que tenía WPBakery */
.lcb-galeria { border: 4px solid #fff; margin-bottom: 60px; box-sizing: border-box; overflow: visible; }
.lcb-galeria ul.slides { overflow: hidden; }
.lcb-galeria .lcb-galeria-puntos { position: absolute; top: 100%; left: 0; right: 0; margin-top: 15px; }

/* Cartelera (Essential Grid): todo el cartel es enlace; botón "Información" rojo,
   y al pasar el mouse sobre el botón: fondo negro y letras blancas. */
.eg-item-skin-2-wrapper .esg-media-cover-wrapper { cursor: pointer; }
.eg-item-skin-2-wrapper a.eg-item-skin-2-element-2,
.eg-item-skin-2-wrapper a.eg-item-skin-2-element-2:focus {
	color: #dd4026 !important; background: rgba(0,0,0,.35) !important;
	transition: color .25s ease, background-color .25s ease !important;
}
.eg-item-skin-2-wrapper a.eg-item-skin-2-element-2:hover {
	color: #fff !important; background: #000 !important;
}

/* Carrito flotante (Side Cart): arriba de la flecha "subir" del tema, centrado con ella y con 12px de espacio.
   La flecha mide 3rem + 2px de borde; el carrito mide 60px y trae 10px de margen propio. */
.xoo-wsc-basket { bottom: calc(5rem + 4px) !important; right: calc(2.4rem - 39px) !important; }
@media (max-width: 959px) {
	.xoo-wsc-basket { bottom: calc(4rem + 4px) !important; right: calc(2.5rem - 39px) !important; }
}

/* Con el carrito abierto se oculta el ícono flotante para que no tape los botones */
body.xoo-wsc-cart-active .xoo-wsc-basket { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* Botón "Pagar" del carrito lateral: blanco con borde negro; negro al pasar el mouse */
a.xoo-wsc-ft-btn-checkout { background: #fff !important; color: #000 !important; border: 2px solid #000 !important; transition: background .25s, color .25s; }
a.xoo-wsc-ft-btn-checkout:hover, a.xoo-wsc-ft-btn-checkout:focus { background: #000 !important; color: #fff !important; }


/* Tarjetas de obras: toda la tarjeta es clicable */
li.product .post_layout_thumbs, li.product .post_layout_thumbs .post_data { cursor: pointer; }
/* Al pasar el mouse sobre la obra se ve su nombre (antes salía un cuadro oscuro vacío) */
li.product .post_layout_thumbs .post_data .post_header { display: flex !important; align-items: center; justify-content: center; height: 100%; padding: 16px; box-sizing: border-box; text-align: center; }
li.product .post_layout_thumbs .post_data .woocommerce-loop-product__title { margin: 0; font-size: 1.1em; line-height: 1.3; }
li.product .post_layout_thumbs .post_data .woocommerce-loop-product__title a { color: #fff !important; }

/* Obras (Essential Grid "washington"): círculos de lupa y cadena en rojo semitransparente para que se vean */
body a.eg-washington-element-0, body a.eg-washington-element-1 { background: rgba(221, 64, 38, .55) !important; color: #fff !important; transition: background .25s; }
body a.eg-washington-element-0:hover, body a.eg-washington-element-1:hover { background: rgba(221, 64, 38, .95) !important; }
.eg-washington-element-0 i, .eg-washington-element-1 i { color: #fff !important; }

/* Boletín del home: botón rojo siempre */
body form.lcf-boletin.mc4wp-form input[type="submit"], body form.lcf-boletin.mc4wp-form button { background: #dd4026 !important; background-image: none !important; border-color: #dd4026 !important; color: #fff !important; transition: background .25s; }
body form.lcf-boletin.mc4wp-form input[type="submit"]:hover, body form.lcf-boletin.mc4wp-form button:hover,
body form.lcf-boletin.mc4wp-form input[type="submit"]:focus, body form.lcf-boletin.mc4wp-form button:focus { background: #b8321c !important; border-color: #b8321c !important; }

/* Menú de celular (hamburguesa): el logo ya no queda pegado arriba */
.menu_mobile .logo, .menu_mobile .menu_mobile_inner .logo, .menu_mobile .menu_mobile_inner > .sc_layouts_logo { margin: 3.5rem 0 1.5rem !important; padding-top: env(safe-area-inset-top, 0); }
.menu_mobile .menu_mobile_inner > .sc_layouts_logo { display: block; text-align: center; }
