.tituloSeccion{
    background-color: #00c0ef !important;
    padding: 8px;
    border-radius: 0px 0px 0px 0px;
    -moz-border-radius: 0px 0px 0px 0px;
    -webkit-border-radius: 0px 0px 0px 0px;
    border-left: 5px solid #0097bc;
    color: #fff;
    font-weight: 600
  }

  .tituloSeccion small{
    color: #fff;
    font-size: 12px;
    margin-left: 20px
  }

/*--------------------------------------------
Contenedor del btn Upload de fotos - Vendedores
--------------------------------------------*/
/* Ruta amigable generada automáticamente: aspecto deshabilitado (solo lectura) */
input.form-control.rutaMarca[readonly]{
  background-color: #e9ecef;
  color: #6c757d;
  cursor: not-allowed;
  opacity: 1;
}

.cont-fotoPortada{
  position: relative;
}

/* Vista previa de imagen — común en formularios (marcas, categorías, banners, …) */
.cont-fotoPortada .formPhotoPreview-wrap{
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0.25rem;
  border: 1px solid #dee2e6;
  background-color: #f8f9fa;
  margin-bottom: 20px;
}

.cont-fotoPortada .formPhotoPreview-wrap .formPhotoPreview{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin-bottom: 0;
}

.cont-fotoPortada #cont-subir-foto,
.cont-fotoPortada .cont-subir-foto{
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  background-color: #106BA0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .5s;
  cursor: pointer;
  padding: 10px 20px !important;
  text-align: center;
  position: absolute;
  right: 0.75rem;
  top: 10px;
  max-width: calc(100% - 1.5rem);
  box-sizing: border-box;
  z-index: 1;
}

.cont-fotoPortada #cont-subir-foto input[type="file"],
.cont-fotoPortada .cont-subir-foto input[type="file"]{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
  z-index: 2;
}

.cont-fotoPortada #cont-subir-foto:hover,
.cont-fotoPortada .cont-subir-foto:hover{
  background-color: #0d8ec9;
}

/* Banner rectangular (marcas 1200×500) — contain = se ve entero, sin recortar */
.cont-fotoPortada--banner .formPhotoPreview-wrap--banner{
  aspect-ratio: 1200 / 500;
  max-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cont-fotoPortada--banner .formPhotoPreview-wrap--banner .formPhotoPreview--banner{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Slider 1903×1000 */
.cont-fotoPortada--slider .formPhotoPreview-wrap--slider{
  aspect-ratio: 1903 / 1000;
  max-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cont-fotoPortada--slider .formPhotoPreview-wrap--slider .formPhotoPreview--slider{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* E-commerce: favicon ocupa la mitad del ancho de la columna izquierda */
.cont-fotoPortada--ecommerce-favicon{
  max-width: 50%;
}

.cont-fotoPortada--ecommerce-favicon .formPhotoPreview-wrap--ecommerce-favicon{
  width: 100%;
  max-width: 100%;
}

/* E-commerce: vista previa mapa Google Maps */
.ecommerce-map-preview{
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 280px;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  overflow: hidden;
  background-color: #f8f9fa;
}

.ecommerce-map-preview iframe{
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.ecommerce-map-preview--empty{
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  font-size: 0.95rem;
  text-align: center;
  padding: 1rem;
}

.slider-table-link,
.slider-table-link:hover{
  text-decoration: none;
}

/* Overlay full-screen al guardar (XHR + subida de imagen) */
.rombios-save-progress-overlay{
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.rombios-save-progress-overlay--visible{
  opacity: 1;
  visibility: visible;
}

.rombios-save-progress-card{
  width: 100%;
  max-width: 380px;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
  padding: 1.6rem 1.4rem 1.35rem;
  text-align: center;
}

.rombios-save-progress-spinner{
  width: 38px;
  height: 38px;
  margin: 0 auto 0.75rem;
  border: 3px solid #e2e8f0;
  border-top-color: #321fdb;
  border-radius: 50%;
  animation: rombios-save-spin 0.75s linear infinite;
}

@keyframes rombios-save-spin{
  to { transform: rotate(360deg); }
}

.rombios-save-progress-title{
  font-size: 1.1rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 0.35rem;
}

.rombios-save-progress-subtitle{
  font-size: 0.85rem;
  color: #64748b;
  margin-bottom: 1rem;
  line-height: 1.35;
}

.rombios-save-progress-track{
  height: 8px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
  margin-bottom: 0.55rem;
}

.rombios-save-progress-bar{
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #321fdb, #6366f1);
  transition: width 0.18s ease-out;
}

.rombios-save-progress-pct{
  font-size: 0.8rem;
  font-weight: 600;
  color: #475569;
  font-variant-numeric: tabular-nums;
}

/* Modales inventario productos — más ancho en PC (TinyMCE + formulario); sin scroll horizontal en móvil */
.rombios-modal-product .rombios-modal-product__dialog{
  width: calc(100% - 1rem);
  max-width: min(880px, calc(100vw - 1rem));
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 992px){
  .rombios-modal-product .rombios-modal-product__dialog{
    width: auto;
    max-width: min(1040px, 94vw);
  }
}

/* TinyMCE: insertar/imagen dentro del modal — diálogo ancho en escritorio + cuerpo con scroll útil */
@media (min-width: 992px){
  html body .tox .tox-dialog{
    width: min(920px, 92vw) !important;
    max-width: min(920px, 92vw) !important;
  }
  html body .tox .tox-dialog__body-content{
    max-height: min(72vh, 680px) !important;
    overflow-y: auto !important;
  }
}

.rombios-modal-product .modal-content,
.rombios-modal-product .modal-body{
  overflow-x: hidden;
  max-width: 100%;
}

.rombios-modal-product .modal-body .col-12,
.rombios-modal-product .modal-body .col-lg-6{
  min-width: 0;
}

.rombios-modal-product .tituloSeccion{
  overflow-wrap: anywhere;
  word-break: break-word;
}

.rombios-modal-product .tituloSeccion small{
  display: block;
  margin-left: 0;
  margin-top: 0.35rem;
}

.rombios-modal-product .input-group,
.rombios-modal-product .input-group .form-control,
.rombios-modal-product .input-group .form-select{
  min-width: 0;
}

.rombios-modal-product .tox-tinymce{
  max-width: 100% !important;
}

/* Estado publicar/despublicar sobre celdas Responsive (clic fiable). */
table.dataTable tbody td .btnActivar{
  position: relative;
  z-index: 2;
}

/* Vista previa: productos destacados (panel). */
.featured-products-preview__layout{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-items: stretch;
}

.featured-products-preview__slot{
  height: 100%;
  min-height: 0;
}

.featured-products-preview__card{
  position: relative;
  height: 100%;
}

.featured-products-preview__edit-btn{
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  z-index: 2;
}

.featured-products-preview .cont-fotoPortada{
  height: 100%;
}

.featured-products-preview .formPhotoPreview-wrap{
  margin-bottom: 0;
  height: 100%;
  aspect-ratio: unset;
  cursor: default;
}

.featured-products-preview .formPhotoPreview-wrap .formPhotoPreview{
  pointer-events: none;
}

.featured-products-preview .formPhotoPreview-wrap:hover .formPhotoPreview,
.featured-products-preview .formPhotoPreview:hover{
  opacity: 1;
  filter: none;
  transform: none;
}

.cont-fotoPortada--featured-main .formPhotoPreview-wrap .formPhotoPreview,
.cont-fotoPortada--featured-grid .formPhotoPreview-wrap .formPhotoPreview{
  object-fit: cover;
}

.cont-fotoPortada--featured-main .formPhotoPreview-wrap,
.cont-fotoPortada--featured-grid .formPhotoPreview-wrap,
.cont-fotoPortada--featured-modal .formPhotoPreview-wrap--featured-modal{
  aspect-ratio: 734 / 430;
}

.cont-fotoPortada--featured-modal .formPhotoPreview-wrap--featured-modal{
  max-height: 320px;
}

.cont-fotoPortada--featured-modal .formPhotoPreview-wrap--featured-modal .formPhotoPreview--featured-modal{
  object-fit: cover;
}

.featured-products-preview__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(var(--fp-grid-rows, 2), 1fr);
  gap: 0.75rem;
  min-height: 0;
  height: 100%;
}

@media (max-width: 991.98px){
  .featured-products-preview__layout{
    grid-template-columns: 1fr;
  }

  .featured-products-preview__grid{
    height: auto;
    min-height: 12rem;
  }

  .cont-fotoPortada--featured-main .formPhotoPreview-wrap,
  .cont-fotoPortada--featured-grid .formPhotoPreview-wrap{
    min-height: 7rem;
  }
}
