/* Envoltorios con los mismos nombres que usa el contenido actual */
#Wrapper{position:relative}
#Content{position:relative;width:100%}
#Content .content_wrapper{margin:0 auto}
/* Contenedor: mismos anchos que la web actual. .section_wrapper es content-box (1220 / 940 / 708+32 / 550+32 px);
   .container (cabecera, pie) es border-box con el mismo ancho total */
.section_wrapper{max-width:var(--cw-ancho);margin-left:auto;margin-right:auto;position:relative}
.container{max-width:var(--cw-ancho);margin-left:auto;margin-right:auto}
@media (max-width:1239px){
	.section_wrapper,.container{max-width:940px}
}
@media (max-width:959px){
	.section_wrapper{max-width:708px;padding-left:16px;padding-right:16px}
	.container{max-width:740px;padding-left:16px;padding-right:16px}
}
@media (max-width:767px){
	.section_wrapper{max-width:550px}
	.container{max-width:582px}
}
.the_content_wrapper{margin:0 1% 15px;display:flow-root}
.section.the_content{padding:0}

/* Barra de título (BeTheme: subheader-style both-center) */
#Subheader{background:#f7f7f7;padding:30px 0;text-align:center}
#Subheader .container{padding:0 20px}
#Subheader .title{margin:0;font-size:30px;line-height:36px}

/* Blog, archivos y búsqueda: cuadrícula de tarjetas (BeTheme las coloca con JavaScript; aquí es una rejilla CSS de 3 / 2 / 1 columnas) */
.posts_group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.posts_group .post-item{position:relative;margin:0 11.95px 20px;padding:0;border:0}
.posts_group .date_label{position:absolute;top:7px;left:0;z-index:2;padding:2px 5px;background:#f8f8f8;color:#a8a8a8;font-size:12px;line-height:20px}
.posts_group .image_frame{line-height:0}
.posts_group .image_frame img{display:block;width:100%;height:auto}
.posts_group .post-desc{padding:20px 20px 0}
.posts_group .post-meta{margin:0 0 8px;color:#a8a8a8;font-size:15px}
.posts_group .post-meta a,.posts_group .post-links a{color:#a8a8a8}
.posts_group .post-meta .label{display:none}
.posts_group .entry-title{margin:0 0 15px;font-weight:600}
.posts_group .entry-title a{color:var(--cw-titulo)}
.posts_group .post-excerpt{margin:0 0 15px}
.posts_group .post-footer{margin:20px -20px 0;padding:7px 15px}
.posts_group .post-links{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:30px;font-size:15px;color:#a8a8a8}
/* Tablet: sigue en tres columnas (masonry en la web actual), con el margen lateral en 1 % del contenedor; móvil: una columna a todo el ancho */
@media (max-width:959px){.posts_group .post-item{margin-left:.9vw;margin-right:.9vw}.the_content_wrapper.cw-listado .posts_group{margin:0 5px}}
@media (max-width:767px){.posts_group{grid-template-columns:minmax(0,1fr)}.posts_group .post-item{margin-left:0;margin-right:0}.the_content_wrapper.cw-listado{margin-left:0;margin-right:0}.the_content_wrapper.cw-listado .posts_group{margin:0}}
.pager_wrapper .pager{padding:0;text-align:center}
.pager_wrapper .pager .pages a,.pager_wrapper .pager .pages span{display:inline-block;width:35px;height:35px;margin:0 1px;padding:0;border-radius:5px;background:transparent;color:#a8a8a8;line-height:35px;text-align:center}
.pager_wrapper .pager .pages{display:inline-block;margin:20px 30px 0;padding:4px 3px;border-radius:5px;background:#f8f8f8}
.pager_wrapper .pager .pages a.active,.pager_wrapper .pager .pages .current{background:#0089f7;color:#fff}
.pager_wrapper .pager a.next_page{display:inline-block;padding:0 33px;color:#006edf;line-height:43px}
.section-filters .filters_buttons{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0;padding:30px 12px;list-style:none;min-height:88px;box-sizing:border-box}
.section-filters .filters_buttons .label{color:#a8a8a8}
.section-filters details{position:relative}
.section-filters summary{cursor:pointer;color:#626262}
.section-filters details ul{position:absolute;z-index:5;left:0;top:100%;min-width:180px;margin:0;padding:8px 14px;background:#fff;list-style:none;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.section-filters details li{padding:3px 0}
.navigation.pagination{margin:20px 0;text-align:center}
.page-numbers{display:inline-block;padding:4px 10px;margin:0 2px}
.page-numbers.current{background:var(--cw-enlace);color:#fff}

/* Sustitutos de shortcodes de BeTheme */

.mfn_heading .title{margin:0}
.icon_box{text-align:center;padding:15px 20px}
.icon_box .icon_wrapper{margin:0 0 12px}
.icon_box .icon{font-size:48px;line-height:1;color:var(--cw-enlace)}
.icon_box .title{margin:0;font-size:18px;line-height:27px}

/* Clearfix de BeTheme: contiene los márgenes del contenido dentro del contenedor */
.section_wrapper::before,.section_wrapper::after{content:" ";display:table}
.section_wrapper::after{clear:both}

/* Error 404 (BeTheme): pantalla completa, sin cabecera ni pie, contenido centrado en vertical */
body.error404 #Header_wrapper,body.error404 #Footer,body.error404 #Subheader{display:none}
#Error_404{display:flex;align-items:center;min-height:100vh;box-sizing:border-box}
#Error_404 .container{margin-left:30px;margin-right:auto;max-width:1016px;width:100%}
#Error_404 .mcb-column-inner{display:flex;align-items:center;gap:24px}
#Error_404 .error_pic{flex:0 0 250px;margin-left:36px}
#Error_404 .cw-cono-base,#Error_404 .cw-cono-cuerpo{fill:#0089f7}
#Error_404 .cw-cono-franja{fill:#fcfcfc}
#Error_404 .error_desk{flex:1 1 auto;min-width:0}
#Error_404 h2{font-size:45px;line-height:45px;margin-bottom:15px}
#Error_404 h4{font-size:26px;line-height:30px;font-weight:600;margin-bottom:26px}
#Error_404 p{margin:0}
#Error_404 .check{display:inline-block;margin-right:20px;font-size:15px;line-height:28px}
.button.button_filled,a.button.button_filled{display:inline-block;padding:10px 20px;border-radius:3px;background:#dbdddf;color:#626262;font:400 14px/17px var(--cw-sans)}
.button.button_filled:hover{background:#d3d3d3;color:#626262;text-decoration:none}
@media (max-width:767px){
	#Error_404 .container{margin:0 auto;max-width:550px;padding:0 33px}
	#Error_404 .mcb-column-inner{display:block;text-align:center}
	#Error_404 .error_pic{margin:0 0 10px}
	#Error_404 .cw-cono{width:160px;height:auto}
	#Error_404 h2{font-size:30px;line-height:36px}
	#Error_404 h4{font-size:20px;line-height:24px}
}

/* Párrafos del contenido: por debajo de 960 px BeTheme los sube a 16 px (solo dentro de .the_content_wrapper: los bloques de plugins en fichas siguen en 13 px) */
@media (max-width:959px){
	:where(.the_content_wrapper) p{font-size:16px;line-height:25.6px}
}

/* BeTheme deja 35 px debajo de los div directos de .wpb_wrapper (medido en catálogo, TPC y formularios).
   :where() la deja con la menor especificidad: las reglas propias de cada elemento de WPBakery siguen mandando. */
.wpb_wrapper > div{margin-bottom:35px}
/* WPForms en las fichas de producto: su margen de 24 px gana en la web actual (en las landings queda el de 35 px) */
.dhvc-woocommerce-page .wpb_wrapper > div.wpforms-container-full{margin-bottom:24px}

/* WPForms: BeTheme deja 35 px debajo del formulario (medido: .wpforms-container mb=35px; WPForms trae 24 px) */
.wpforms-container.wpforms-container-full{margin-bottom:35px}

/* Móvil: el mu-plugin ceslan-barra-inferior quita los márgenes negativos de la foto de cabecera (-80 px), pero aquí el CSS de WPBakery se imprime después y gana por orden;
   se repite con más especificidad para que no dependa del orden */
@media (max-width:767px){
	.wpb_column .vc_column-inner.vc_custom_1518363137963,
	.wpb_column .vc_column-inner.vc_custom_1619515130177,
	.wpb_column .vc_column-inner.vc_custom_1479844135744,
	.wpb_column .vc_column-inner.vc_custom_1479844194832{margin-top:0!important}
}

/* Tarjeta de entrada (medida en la web actual): meta con «on» e iconos, pie con el enlace azul y su icono */
.posts_group .post-meta .author .label{display:none}
.posts_group .post-meta .date .label{display:inline}
.posts_group .post-meta .icono-meta{width:.9em;height:.9em;margin:0 3px 0 0;vertical-align:-1px}
.posts_group .post-links a.post-more{color:#006edf}
.posts_group .post-links a.post-comments{color:#006edf}
.posts_group .post-links .icono-boton{margin-right:6px}

/* Titular [heading] del contenido (BeTheme lo pinta como un h2 en línea, aunque salga vacío: ocupa una línea de texto) */
.mfn_heading.align_left{text-align:left}
.mfn_heading .title{display:inline-block;position:relative}

/* Listas del contenido (medido en la web actual; BeTheme: `.the_content_wrapper ul`): viñeta fuera, 30 px de sangría y 10 px entre elementos (el último, pegado en las columnas de
   texto de WPBakery). Vale para TODA lista dentro de .the_content_wrapper, también las de plugins con clase propia (p. ej. la de fechas alternativas de una convocatoria caducada);
   las listas de WooCommerce, los menús y los paginadores se quedan como están porque sus reglas tienen mayor especificidad. */
/* Listas del contenido: misma especificidad que BeTheme (0,1,1) para que pierdan contra `.wpb_text_column :last-child{margin-bottom:0}` de WPBakery; sin relleno (el reset de BeTheme lo quita) y en el gris del contenido */
.the_content_wrapper ul,.icon_box ul,.post-excerpt ul{list-style:outside disc;margin:0 0 15px 30px;padding:0;color:#737e86}
.the_content_wrapper ol,.icon_box ol,.post-excerpt ol{list-style:outside decimal;margin:0 0 15px 30px;padding:0;color:#737e86}
:where(.the_content_wrapper) .wpb_text_column li>ul,:where(.the_content_wrapper) .wpb_text_column li>ol{margin-top:10px}
.the_content_wrapper ul li,.the_content_wrapper ol li,.icon_box ul li,.post-excerpt ul li{margin-bottom:10px}
:where(.the_content_wrapper) .wpb_text_column ul li:last-child,:where(.the_content_wrapper) .wpb_text_column ol li:last-child,:where(.the_content_wrapper)>ul:not([class])>li:last-child,:where(.the_content_wrapper)>ol:not([class])>li:last-child{margin-bottom:0}

/* Tablas del contenido (temarios): ancho completo, celdas centradas con 10 px de relleno y una línea fina debajo. Con :where() para no pisar las tablas propias (carrito, pago, cuenta) */
:where(table){width:100%;box-sizing:border-box;margin-bottom:15px;border-collapse:collapse;border-spacing:0;border-radius:5px}
:where(table th,table td){padding:10px;text-align:center;vertical-align:middle;border:0 solid rgba(0,0,0,.08);border-bottom-width:1px}
:where(.wpb_text_column table){margin-bottom:0}

/* Alineación de imágenes del editor (clases de WordPress) */
.aligncenter{display:block;margin:0 auto;text-align:center}
.alignleft{float:left;margin:0 20px 10px 0}
.alignright{float:right;margin:0 0 10px 20px}

/* Listado del blog: 40 px bajo el paginador (BeTheme los pone en .mcb-column-inner) */
.the_content_wrapper.cw-listado{margin-bottom:40px}

/* Ficha de contacto del shortcode [contact] */
.get_in_touch h3{margin:0 0 10px}
.get_in_touch ul{margin:0;padding:0;list-style:none}
.get_in_touch li{margin:0 0 6px}
.get_in_touch .etiqueta{display:inline-block;min-width:80px;font-weight:700;color:var(--cw-titulo)}

/* Paginación del carrusel (flexslider) dentro del contenido: sin números, como en la web actual */
.the_content_wrapper .flex-control-nav{list-style:none}
