.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

.upload_btn {
	background: #33a5e0;
	color: white;
	padding: 4px 25px;
	display: inline-block;
	border-radius: 5px;
	cursor: pointer;
}

.ui-resizable-handle { z-index: 1 !important; }
.settings #cboxLoadedContent { box-shadow: 3px 3px 15px 0px black; }
.settings#colorbox { outline: none; }

.sortable_placeholder {
	border-left: 1px solid #64b9e6;
	border-right: 1px solid #64b9e6; 
	background: url('../css/drop_placeholder_1.png') repeat-x;
	height: 17px;
	margin: 10px 0;
}

#cboxOverlay { position: fixed; top: 0; width: 100%; height: 100%; }
.colorpicker { z-index: 4; }

.admin_page_edit_container .title.widgets { background: #8d8b8d; border-radius: 5px; }
.admin_page_edit_container .title.contents { background: #67bce7; border-radius: 5px; }

.leftcolumn { float: left; width: 456px; }
.contenedor_dato2 { width: 406px; height: 60px; }
.contenedor_dato2 input.inputfile { width: 394px; margin: 0; }
.contenedor_dato2 span { padding-left: 5px; }


.contenedor_dato2 .tick { margin: -6px 0 0 5px; width: 25px; }
.contenedor_dato2 .text,
.contenedor_dato2 .text span { padding-left: 0; } 
.contenedor_dato2 .text .no { display: none; color: #d80019; font-weight: bold; }
.contenedor_dato2 .text.disabled .no { display: inline; }


.page { width: 100%; margin-bottom: 0; }
.page .sortable { overflow: hidden; }

.page .sortable.image {
	vertical-align: middle;
	text-align: center;
	width: 100%;
    line-height: 0;
}

.page .sortable.image .overlay { position: absolute; display: table; }
.page .sortable.image .overlay .caption { color: white; width: 100%; display: table-cell; text-align: center; vertical-align: middle; }
.page .sortable.image img.rounded { border-radius: 100%; }

.page .sortable.image.empty { display: none; }

.sortable.textarea,
.sortable.table,
.sortable.image { position: relative; }

.sortable.image img { max-width: 999999px; width: 100%; }

.page .pagecontainer { max-width: 1440px; }

.table { margin: 0; } 

.gallerytable .gallerycell { float: left; overflow: hidden; }
.gallerytable.rounded .wrapper2 { border-radius: 100%; overflow: hidden; }
.page .sortable.gallerytable.rounded .overlay { border-radius: 100%; }

.page .sortable.gallerytable .gallerycell .wrapper { overflow: hidden; box-sizing: border-box; }

@media all and (max-width: 767px) {
	.gallerytable .gallerycell .wrapper2,
	.gallerytable .gallerycell .wrapper2 img { width: 100% !important; height: auto !important; margin-left: 0 !important; }
	/*.cell.empty span.blank { display: none; }*/
	.gallerytable.rounded .wrapper2,
	.page .sortable.gallerytable.rounded .overlay { border-radius: 0; }
}

@media all and (min-width: 768px) {
	.gallerytable.cols-2 .gallerycell { width: 50%; }
	.gallerytable.cols-4 .gallerycell { width: 25%; }
	.gallerytable.cols-5 .gallerycell { width: 20%; }
	.gallerytable.cols-8 .gallerycell { width: 12.5%; }
}

@media all and (min-width: 1440px) {
	.page .pagecontainer {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}


.table_inner { border-collapse: collapse; display: table; width: 100%; }
.row { display: block; }
.cell { display: inline-block; width: 100%; vertical-align: top; }
.page .row[data-cell-dist] .cell { padding: 0 !important; }

.cell.empty { background-position: center; background-repeat: no-repeat; }


#fondoDegradadoInferior, .page, .page .cell, .border-box * {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
.page p { line-height: initial; margin: 0; }

.custombutton .mceEditor {
	word-wrap: break-word;
	cursor: pointer;
}



/* ==== WS · MÓVIL: 2 columnas + textos compactos + gutters (solo #movil-2) ==== */
/* Elimina reglas anteriores tipo "FUERZA BRUTA" que afecten a #movil-2 */
@media (max-width: 768px) {

  /* Variables de layout y tipografía para móvil */
  #movil-2{
    /* separaciones */
    --gut:   clamp(8px, 4vw, 14px);  /* gutter lateral del bloque */
    --gap-y: 16px;                   /* separación vertical entre tarjetas */
    --gap-x: 12px;                   /* separación horizontal entre tarjetas */

    /* tamaños de texto en móvil */
    --h2-sz: clamp(20px, 4.8vw, 24px);
    --h3-sz: clamp(17px, 4.2vw, 20px);
    --h4-sz: clamp(13px, 3.2vw, 16px);  /* más pequeño */
    --p-sz:  clamp(12px, 2.9vw, 14px);  /* más pequeño */
  }

  /* Gutter lateral del bloque (no toca contenedores de imagen) */
  #movil-2 > .table_inner{
    padding-left: var(--gut) !important;
    padding-right: var(--gut) !important;
  }

  /* 2 columnas SOLO en la fila directa del bloque */
  #movil-2 > .table_inner > .row{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--gap-y) var(--gap-x) !important;
    margin: 0 !important; /* neutraliza márgenes heredados */
  }

  /* Celdas directas limpias (sin floats ni flex forzado) */
  #movil-2 > .table_inner > .row > .cell{
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  #movil-2 > .table_inner > .row > .cell.empty{ display: none !important; }

  /* Tipografía SOLO en texto (no imágenes) */
  #movil-2 .customtitle h2, #movil-2 .customtitle h2 *{
    font-size: var(--h2-sz) !important; line-height: 1.25 !important;
  }
  #movil-2 .customtitle h3, #movil-2 .customtitle h3 *{
    font-size: var(--h3-sz) !important; line-height: 1.30 !important;
  }
  #movil-2 .customtitle h4, #movil-2 .customtitle h4 *{
    font-size: var(--h4-sz) !important; line-height: 1.35 !important;
  }
  #movil-2 .textarea p, #movil-2 .textarea p *{
    font-size: var(--p-sz) !important;  line-height: 1.5 !important;
  }

  /* Márgenes compactos SOLO en bloques de texto (no tocar .image) */
  #movil-2 .sortable.customtitle[style]{
    margin: 8px 8px 4px !important;
    padding: 0 !important;
  }
  #movil-2 .sortable.textarea[style]{
    margin: 4px 8px 10px !important;
    padding: 0 !important;
  }

  /* Evita clearfix antiguos que rompan el grid */
  #movil-2 .row:before, 
  #movil-2 .row:after{ content: none !important; }
}

/* OPCIONAL: activar 1 columna en pantallas muy estrechas
@media (max-width: 420px){
  #movil-2 > .table_inner > .row{ grid-template-columns: 1fr !important; }
}
*/

<style>
/* Fuerza los anchos correctos aunque haya otro CSS */
section.wsgr2 .wsgr2-card { width:calc(25% - 12px) !important; }
@media (max-width:900px){ section.wsgr2 .wsgr2-card { width:calc(50% - 12px) !important; } }
@media (max-width:768px){
  section.wsgr2 { padding-left:12px !important; padding-right:12px !important; }
  section.wsgr2 .wsgr2-card{ min-width:100% !important; width:100% !important; scroll-snap-align:start !important; }
  section.wsgr2 .wsgr2-prev{ left:6px !important; }
  section.wsgr2 .wsgr2-next{ right:6px !important; }
}
</style>