/* ==========================================================================
   toha-blocks / layout: reemplazo de Frontend Builder 2.7.0.
   Reglas reducidas a lo que usaban las 6 paginas + adaptacion para bloques core.
   ========================================================================== */

/* --- contenedor (lo pone el filtro the_content) --- */
#fbuilder_wrapper { min-height: 50px; height: auto; padding: 0; margin: 0; border: 0; position: relative; }
#fbuilder_content { margin: 0; padding: 0; width: 100%; }
#fbuilder_content_wrapper { float: left; width: 100%; }

/* --- fila --- */
.fbuilder_row { position: relative; padding: 0 1500px; margin: 0 -1500px; background-position: center center; background-attachment: scroll; background-repeat: no-repeat; }
.fbuilder_row.fbuilder_row_full_width { margin: 0 -1644px; }
.fbuilder_row_background { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-position: center center; overflow: hidden; }
.fbuilder_row_back_image { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-position: center center; background-repeat: no-repeat; overflow: hidden; }
#fbuilder_content_wrapper .fbuilder_row > div:last-child { margin: 0 -24px; }

/* --- columnas --- */
.fbuilder_column { box-sizing: border-box; float: left; display: block; min-height: 1px; border: 0; padding: 0; margin: 0; width: 100%; position: relative; border-right: 24px solid transparent; border-left: 24px solid transparent; }
.fbuilder_column-1-1 { width: 100%; }
.fbuilder_column-1-2 { width: 50%; }
.fbuilder_column-1-3 { width: 33.33333%; }
.fbuilder_column-2-3 { width: 66.66666%; }
.fbuilder_column-1-4 { width: 25%; }
.fbuilder_column-3-4 { width: 75%; }
.fbuilder_column-1-5 { width: 20%; }
.fbuilder_column-2-5 { width: 40%; }
.fbuilder_column-3-5 { width: 60%; }
.fbuilder_column-4-5 { width: 80%; }
.fbuilder_droppable { position: relative; z-index: 2; }
.fbuilder_droppable > * { position: relative; box-sizing: border-box; }

@media screen and (max-width: 1200px) {
	#fbuilder_content_wrapper .fbuilder_row > div:last-child { margin: 0 -18px; }
	.fbuilder_column { border-right-width: 18px; border-left-width: 18px; }
}
@media screen and (max-width: 960px) {
	#fbuilder_content_wrapper .fbuilder_row > div:last-child { margin: 0 -12px; }
	.fbuilder_column { border-right-width: 12px; border-left-width: 12px; }
}
@media screen and (max-width: 768px) {
	#fbuilder_content_wrapper .fbuilder_row > div:last-child { margin: 0; }
	.fbuilder_column { width: 100%; border-width: 0; }
}

/* --- tipografia del builder --- */
#fbuilder_wrapper h1 { font-family: "Open Sans", serif; font-weight: 300; font-style: normal; font-size: 45px; line-height: 16px; }
#fbuilder_wrapper h2 { font-family: "Open Sans", serif; font-weight: 300; font-style: normal; font-size: 30px; line-height: 16px; }
#fbuilder_wrapper h3 { font-family: "Open Sans", serif; font-weight: 300; font-style: normal; font-size: 25px; line-height: 16px; }

/* heading core (modulo heading) */
#fbuilder_wrapper .fbuilder_droppable > .wp-block-heading { margin-top: 0; }

/* texto (modulo text): paragraph suelto o group con parrafos */
#fbuilder_wrapper .fbuilder_droppable > p.toha-text { margin: 0; }
#fbuilder_wrapper .toha-text.wp-block-group > p:last-child { margin-bottom: 10px; }

/* imagen (modulo image) */
#fbuilder_wrapper .wp-block-image.toha-image { margin: 0; line-height: 0; text-align: center; max-width: 100%; }
#fbuilder_wrapper .wp-block-image.toha-image img { display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: 0; box-shadow: none; vertical-align: middle; }

/* boton (modulo button) */
#fbuilder_wrapper .wp-block-buttons.toha-button { display: block; text-align: center; gap: 0; }
#fbuilder_wrapper .toha-button .wp-block-button { display: inline-block; margin: 0; }
#fbuilder_wrapper .toha-button .wp-block-button__link { display: inline-block; font-size: 16px; line-height: 16px; padding: 20px 35px; border: 0; border-radius: 0; text-decoration: none; font-family: inherit; font-weight: normal; transition: none; }
#fbuilder_wrapper .toha-button .wp-block-button__link:hover { background: #05ba6 !important; color: #fff !important; }

/* lista con check (modulo bulletlist) */
#fbuilder_wrapper ul.toha-bullets { list-style: none; margin: 0; padding: 0; width: 100%; font-family: "Open Sans", serif; font-weight: 300; font-style: normal; font-size: 19px; line-height: 17px; color: #808080; }
#fbuilder_wrapper ul.toha-bullets > li { margin: 0 0 7px; padding: 3px 10px 5px; display: block; box-sizing: border-box; }
#fbuilder_wrapper ul.toha-bullets > li::before { content: "\f00c"; display: inline-block; font-family: FontAwesome; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; margin-right: 20px; margin-top: 4px; color: #444; }

/* iconos (subconjunto de FontAwesome 4, el tema ya carga la fuente) */
.ba { display: inline-block; font-family: FontAwesome; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; }
.ba-check::before { content: "\f00c"; }
.ba-search::before { content: "\f002"; }
.ba-book::before { content: "\f02d"; }
.ba-plus::before { content: "\f067"; }
.ba-minus::before { content: "\f068"; }
.ba-bullhorn::before { content: "\f0a1"; }
.ba-sitemap::before { content: "\f0e8"; }
.ba-pagelines::before { content: "\f18c"; }
.ba-map-marker::before { content: "\f041"; }
.ba-phone::before { content: "\f095"; }
.ba-envelope::before { content: "\f0e0"; }

/* features (toha/feature) */
.frb_features { text-align: center; }
.frb_features h3.frb_features_title, .frb_features .frb_features_content, .frb_features i { display: block; }
.frb_features h3.frb_features_title { display: block; clear: none; margin: 0; color: #232323; margin-top: 0; padding-top: 10px; transition: color 300ms; }
.frb_features i.frb_features_icon { text-align: center; padding: 0; margin: 10px; display: inline-block !important; font-size: 40px; line-height: 40px; color: #232323; transition: color 300ms, border-color 300ms; }
.frb_features .frb_features_content { color: #808080; transition: color 300ms; }
.frb_features:hover .frb_features_title, .frb_features:hover .frb_features_content { color: #27a8e1; }
.frb_features:hover .frb_features_icon { color: var(--toha-icon-hover, #27a8e1); border-color: var(--toha-icon-hover, #27a8e1); }
.frb_features.frb_features_icon-left { text-align: left; }
.frb_features.frb_features_icon-left i { float: left; }
.frb_features.frb_features_icon-left i.frb_features_icon { margin-left: 0; margin-right: 20px; }
.frb_features.frb_features_icon-left h3.frb_features_title { margin-bottom: 10px; margin-left: 62px; }
.frb_features.frb_features_icon-left .frb_features_content { margin-left: 62px; }

/* toggle (toha/toggle), estilo clean-left */
.frb_toggle { width: 100%; margin: auto; }
.frb_toggle .frb_toggle_item > input { display: none; }
.frb_toggle .frb_toggle_item > label { position: relative; z-index: 20; display: block; cursor: pointer; color: #232323; line-height: 33px; font-size: 19px; background-color: rgba(255,255,255,0); margin-bottom: 2px; }
.frb_toggle .frb_toggle_item > label > h3 { margin: 0; font-size: 16px; background-color: transparent; color: #232323; border: 1px solid #ebecee; }
.frb_toggle .frb_toggle_item > label i { padding: 8px; height: 100%; background-color: rgba(255,255,255,0); margin-right: 15px; color: #232323; }
.frb_toggle .frb_toggle_item > label i.ba::before { content: "\f067"; }
.frb_toggle .frb_toggle_item > input:checked + label i.ba::before { content: "\f068"; }
.frb_toggle .frb_toggle_item > input:checked + label > h3 { color: #27a8e1; border: 1px solid transparent; }
.frb_toggle .frb_toggle_item_content { background: transparent; color: #808080; margin-top: -1px; margin-bottom: 0; overflow: hidden; position: relative; z-index: 10; width: 100%; height: 0; }
.frb_toggle .frb_toggle_item > input:checked ~ .frb_toggle_item_content { margin-bottom: 2px; height: auto; border: 1px solid transparent; }
.frb_toggle .frb_toggle_content_left { height: 100%; min-height: 1px; float: left; margin-right: 5px; }
.frb_toggle .frb_toggle_content_right { overflow-x: hidden; }

/* alineacion justificada (core no trae la clase) */
#fbuilder_wrapper .has-text-align-justify { text-align: justify; }

/* --- correcciones post-migracion (22-10-2026) --- */
/* Las filas usan el truco del builder (margen -1500px + padding 1500px) para pintar el fondo a todo
   el ancho; eso hacia que la pagina se desplazara a la derecha. clip recorta sin crear scroll container. */
html, body { overflow-x: clip; }
