body {
  background-color: #eeeeef;
}
.elementor-image-carousel .swiper-slide-image {
  max-height: 107px !important;
}
.titulo-miniatura-producto a,
.titulo-miniatura-producto {
  min-height: 52px;
}
.elementor-button-content-wrapper {
  align-items: center;
}
.enlace-header:hover {
  color: #171717 !important;
}
.imagenes-pago img {
  width: 36px;
}
.imagenes-pago .ce-image-gallery {
  max-width: 210px;
}
.imagenes-pago .ce-image-gallery figure {
  justify-content: center;
}
.formulario-contacto{}



/* ===== Tabs de producto (look de la captura) ===== */
.pestañas-productos{
  --accent:#c40000;      /* rojo activo */
  --border:#e6e6e6;      /* gris del borde */
  --tab-bg:#f7f7f7;      /* fondo de pestañas inactivas */
  --text:#6b6b6b;        /* texto inactivo */
  --text-strong:#222;    /* texto contenido */
  font-size:16px;
}

/* Contenedor de tabs */
.pestañas-productos .tabs{ margin-top:10px; }

/* Barra de pestañas */
.pestañas-productos .nav-tabs{
  border-bottom:1px solid var(--border);
  gap:0;
}

/* Cada pestaña */
.pestañas-productos .nav-tabs .nav-item{ margin-right:2px; }
.pestañas-productos .nav-tabs .nav-link{
  position:relative;
  display:inline-block;
  font-size:18px;
  font-weight:600;
  color:var(--text);
  background:var(--tab-bg);
  border:1px solid var(--border);
  border-bottom:none;
  border-top-left-radius:4px;
  border-top-right-radius:4px;
  padding:10px 18px;
  line-height:1.2;
  border: 1px solid #D9D9D9;
}

/* Hover */
.pestañas-productos .nav-tabs .nav-link:hover{
  color:var(--accent);
  background:#fff;
  border-bottom: #c40000 3px solid;
}

/* Activa */
.pestañas-productos .nav-tabs .nav-link.active,
.pestañas-productos .nav-tabs .nav-item.show .nav-link{
  color:var(--accent);
  background:#fff;
  border-color:var(--border);
  border-bottom-color:#fff !important; /* se integra con el panel */
  border: 1px solid #D9D9D9;
}

/* Panel de contenido */
.pestañas-productos .tab-content{
  border:1px solid var(--border);
  border-top:none;            /* unido visualmente a la pestaña activa */
  background:#fff;
  padding:16px 20px;
  color:var(--text-strong);
  line-height:1.6;
}

/* Tipografías internas habituales */
.pestañas-productos .product-description p{ margin:0;color: #171717; }
.pestañas-productos .product-reference,
.pestañas-productos .product-quantities{
  font-size:18px;
  margin:8px 0;
  font-family: Rubik;
  ;
}
.pestañas-productos .label{
  font-weight:600;
  margin-right:6px;
}

/* Responsivo: que las pestañas hagan wrap en móvil */
@media (max-width: 576px){
  .pestañas-productos .nav-tabs{
    flex-wrap:wrap;
    row-gap:6px;
  }
  .pestañas-productos .nav-tabs .nav-item{ margin-right:6px; }
  .pestañas-productos .nav-tabs .nav-link{ padding:8px 12px; }
}
.tabs{
    background: #ffffff00 !important;
    padding: 0;
}

.form-registro .elementor-field-textual:focus,.form-iniciar-sesion .elementor-field-textual:focus{
  box-shadow: unset !important;
  border-bottom-color: #000 !important;
}
.form-contraseña{
  font-family: Rubik;
}
.cms-id-6 #footer .elementor-section-height-min-height{
  margin-top: 0px !important;
}
.cms-id-6 .page-footer{
  margin-bottom: 0px !important;
}



/* ===== Formulario de contacto (estilo captura) ===== */
.formulario-contacto{
  --bg:#f1f1f1;          /* gris de fondo de la tarjeta/página */
  --field-bg:#fff;       /* fondo de inputs */
  --border:#e8e8e8;      /* borde inputs */
  --border-strong:#d6d6d6;
  --text:#2a2a2a;
  --muted:#8a8a8a;       /* textos secundarios / placeholder */
  --accent:#c40000;      /* rojo botón */
  --accent-hover:#a80000;
  --shadow:0 1px 2px rgba(0,0,0,.04);
  font-size:16px;
}

/* Contenedor del widget */
.formulario-contacto .elementor-widget-container{
  background:var(--bg);
  padding:16px 0 24px;
}

/* Card/form */
.formulario-contacto .wpcf7.hook{
  max-width:720px;
  margin:0 auto;
}

.formulario-contacto h3{
  margin:0 0 12px;
  font-size:22px;
  font-weight:700;
  color:var(--text);
}

/* Reset etiquetas vacías y saltos */
.formulario-contacto .wpcf7 label{
  display:block;
  margin:0;
}
.formulario-contacto br{ display:block; height:10px; content:""; }

/* Inputs y textarea */
.formulario-contacto .wpcf7 .form-control,
.formulario-contacto .wpcf7 input[type="text"],
.formulario-contacto .wpcf7 input[type="email"],
.formulario-contacto .wpcf7 input[type="tel"],
.formulario-contacto .wpcf7 textarea{
  display:block;
  width:100%;
  background:var(--field-bg);
  border:1px solid var(--border);
  border-radius:3px;
  padding:12px 14px;
  line-height:1.4;
  color:var(--text);
  box-shadow:var(--shadow);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* Alturas como en la captura */
.formulario-contacto .wpcf7 input[type="text"],
.formulario-contacto .wpcf7 input[type="email"],
.formulario-contacto .wpcf7 input[type="tel"]{
  height:44px;
}
.formulario-contacto .wpcf7 textarea{
  min-height:85px;
  resize:vertical;
}

/* Placeholder estilo */
.formulario-contacto ::placeholder{
  opacity:1;
  font-size:14px;
  color: #171717;
}

/* Focus */
.formulario-contacto .wpcf7 .form-control:focus{
  outline:none;
  border-color:var(--border-strong);
  box-shadow:0 0 0 2px rgba(0,0,0,.03);
}

/* Checkbox + texto */
.formulario-contacto .wpcf7-acceptance .wpcf7-list-item{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 0 10px;
}
.formulario-contacto .wpcf7-acceptance input[type="checkbox"]{
  width:18px;
  height:18px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #9c9c9c;
  border-radius:2px;
  background:#fff;
  display:inline-block;
  vertical-align:middle;
  position:relative;
  cursor:pointer;
}
.formulario-contacto .wpcf7-acceptance input[type="checkbox"]:checked{
  background:#fff;
  border-color:#6f6f6f;
}
.formulario-contacto .wpcf7-acceptance input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:4px; top:1px;
  width:6px; height:10px;
  border:2px solid #2a2a2a;
  border-top:none; border-left:none;
  transform:rotate(45deg);
}
.formulario-contacto .wpcf7-list-item-label{
  color:var(--text);
  font-size:14px;
}
.formulario-contacto .wpcf7-list-item-label a{
  color:var(--text);
  text-decoration:underline;
}

/* Botón enviar (pastilla roja como la captura) */
.formulario-contacto .wpcf7 .wpcf7-submit{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:10px 22px;
  font-weight:600;
  cursor:pointer;
  box-shadow:var(--shadow);
  transition:background .15s ease, transform .02s ease;
}
.formulario-contacto .wpcf7 .wpcf7-submit:hover{ background:var(--accent-hover); }
.formulario-contacto .wpcf7 .wpcf7-submit:active{ transform:translateY(1px); }

/* Estado deshabilitado (cuando el plugin lo marca) */
.formulario-contacto .wpcf7 .wpcf7-submit[disabled],
.formulario-contacto .wpcf7 .wpcf7-submit:disabled{
  background:#d4d4d4;
  color:#8f8f8f;
  cursor:not-allowed;
}

/* loader / mensajes */
.formulario-contacto .ajax-loader{ display:none !important; }
.formulario-contacto .wpcf7-response-output{
  margin-top:10px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:3px;
  padding:10px 12px;
  font-size:14px;
  color:var(--text);
}

/* Responsive */
@media (max-width:768px){
  .formulario-contacto .wpcf7.hook{ padding:0 12px; }
  .formulario-contacto h3{ padding-left:12px; }
}

.formulario-contacto h3,.formulario-contacto br{
  display: none !important;
}

.formulario-contacto .elementor-widget-container{
  padding: 0px !important;
}

.formulario-contacto .wpcf7-list-item-label a{
  color: #C90C0F;
  font-size: 16px;
  font-family: Rubik;
}
.formulario-contacto input[type="checkbox"],.formulario-contacto .wpcf7-list-item-label,.formulario-contacto .wpcf7-list-item,.wpcf7-form-control-wrap.acceptance-556{
  cursor: pointer !important;
}
.categorias-cajas .ce-article__title{
  text-align: center !important;
}
#blockcart-modal .product-name{
  color: #C90C0F;
}
#blockcart-modal .cart-content .btn.btn-primary{
    color: #fff;
    background-color: #C90C0F !important;
    border: 1px solid #C90C0F;
}
#blockcart-modal .cart-content .btn.btn-primary:hover{
    color: #C90C0F;
    background-color: #fff !important;
    border: 1px solid #C90C0F;
}

@media (max-width:1025px){
  .orden1{
    order: 0;
  }
  .orden2{
    order: 1;
  }
  .orden3{
    order: 2;
  }
  .orden4{
    order: 3;
  }
}
/* --- VISIBILIDAD GENERAL --- */
.caso { display: none; }
.paso { display: none !important; } /* ocultar todos */
.paso.activo { 
  display: grid !important; /* solo el activo visible y como grid */
}
.nota-papeleria { display: none; }

/* --- BARRA DE PROGRESO --- */
.barra-porcentaje {
  position: relative;
  width: 100%;
  height: 10px;
  background: #eee;
  border-radius: 6px;
  margin: 10px 0 20px;
  overflow: hidden;
}
.barra-porcentaje > span {
  display: block;
  height: 100%;
  width: 0%;
  background: #79C6C0; /* color corporativo */
  transition: width .25s ease;
}
.barra-porcentaje .barra-texto {
  position: absolute;
  top: -26px;
  right: 0;
  font-weight: 600;
}

/* --- TITULILLOS --- */
.titulo-subseccion { 
  font-weight: 700; 
  margin: 10px 0 12px; 
}

/* --- CONFIGURACIÓN DE GRID Y GAP --- */
.paso.activo {
  gap: 12px;
}

/* Paso 1: 2x2 (50% cada) y botones 100% */
.paso.activo.primer-paso-info { 
  grid-template-columns: repeat(2, minmax(0, 1fr)); 
}
.primer-paso-info .botonera { 
  grid-column: 1 / -1; 
  display: flex; 
  gap: 10px; 
}
.primer-paso-info .botonera .btn-siguiente { 
  width: 100%; 
}

/* Paso 2: 2x2 y botones 2x1 */
.paso.activo.segundo-paso-direccion { 
  grid-template-columns: repeat(2, minmax(0, 1fr)); 
}
.segundo-paso-direccion .botonera { 
  grid-column: 1 / -1; 
  display: flex; 
  gap: 10px; 
}
.segundo-paso-direccion .btn-anterior,
.segundo-paso-direccion .btn-siguiente { 
  flex: 1 1 0; 
}

/* Paso 3: 2x1 y botones 2x1 */
.paso.activo.tercer-paso-informacion { 
  grid-template-columns: repeat(2, minmax(0, 1fr)); 
}
.tercer-paso-informacion .botonera { 
  grid-column: 1 / -1; 
  display: flex; 
  gap: 10px; 
}
.tercer-paso-informacion .btn-anterior,
.tercer-paso-informacion .btn-siguiente { 
  flex: 1 1 0; 
}

/* Paso 4: 2x1 y 1x1 */
.paso.activo.cuarto-paso-usuario { 
  grid-template-columns: repeat(2, minmax(0, 1fr)); 
}
.cuarto-paso-usuario label:nth-of-type(1) { 
  grid-column: 1 / -1; 
} /* email ocupa todo */
.cuarto-paso-usuario .nota-papeleria { 
  grid-column: 1 / -1; 
  font-size: .95em; 
  color: #333; 
}
.cuarto-paso-usuario .botonera { 
  grid-column: 1 / -1; 
  display: flex; 
  gap: 10px; 
}
.cuarto-paso-usuario + [acceptance],
.cuarto-paso-usuario + [acceptance] + [submit],
.cuarto-paso-usuario ~ [submit] { 
  display: block; 
  margin-top: 10px; 
}

/* --- INPUTS CF7 --- */
label > * { 
  width: 100%; 
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .paso.activo.primer-paso-info,
  .paso.activo.segundo-paso-direccion,
  .paso.activo.tercer-paso-informacion,
  .paso.activo.cuarto-paso-usuario {
    grid-template-columns: 1fr;
  }
}

/* --- VALIDACIÓN VISUAL --- */
.formulario-contacto .wpcf7 .form-control.campo-error:focus{
   outline: 2px solid #e74c3c !important; 
   border-color: #e74c3c !important;
}
.campo-error { outline: 2px solid #e74c3c; }
.msg-error { 
  color: #e74c3c; 
  font-size: .85em; 
  margin-top: 4px; 
  display: block; 
}
.titulo-subseccion{
  width: 100%;
}
/* El título de cada paso ocupa la fila completa */
.paso .titulo-subseccion { 
  grid-column: 1 / -1; 
}
/* Oculta el bloque completo de pasos si no hay tipo elegido */
.formulario-pasos.oculto { display: none !important; }

h2.titulo-principal,.titulo-subseccion{
  font-family: 'Balthazar';
  color: #c90c0f;
}
h2.titulo-principal{
  font-size: 32px;
}
.caso p{
  font-size: 16px;
  color: #171717;
}
.paso-actual{
  color: #c90c0f;
  font-weight: 500;
  text-align: center;
}
.caso h2{
  font-size: 24px;
  font-family: 'Balthazar';
}

.titulo-subseccion{
  font-size: 20px;
}
.btn-siguiente,.btn-anterior{
  background-color: #c90c0f;
  color: #fff;
  border: unset;
  padding-top: 5px;
  padding-bottom: 5px;
  border-radius: 10px;
  cursor: pointer;
}
.btn-siguiente:hover,.btn-anterior:hover{
  background-color: #000;
}
.wpcf7-form-control-wrap select.form-control:not([size]):not([multiple]){
  height: 43px !important;
      padding: 10px 14px !important;
}

#form_ets_onepagecheckout p,
#form_ets_onepagecheckout span,
#form_ets_onepagecheckout strong,
#form_ets_onepagecheckout input,
#form_ets_onepagecheckout textarea,
#form_ets_onepagecheckout form,
#form_ets_onepagecheckout label,
#form_ets_onepagecheckout a,
#form_ets_onepagecheckout button,
#form_ets_onepagecheckout select,
#form_ets_onepagecheckout option{
  font-family: Rubik !important;
}

#form_ets_onepagecheckout .title-heading{
  font-family: Balthazar !important;
}
#checkout .container{
  max-width: 1500px;
  width: 100%;
}
#payment-option-2-container img{
  max-width: 12px !important;
}
.elementor-heading-title a:hover, .elementor-heading-title a:hover span{
  color: #C90C0F;
}

.ce-breadcrumb__item{
  text-transform: uppercase!important;
  font-family: 'Balthazar' !important;
}
.ce-breadcrumb__item:last-child{
  text-transform: uppercase!important;
  font-family: 'Balthazar' !important;
  font-weight: 700;
}

.menu-principal a{
  font-family: 'Rubik' !important;
}

.whatsappchat .label-text span{
  background-color: #00000000 !important;
  color: #fff !important;
  font-family: 'Rubik' !important;
}

.whatsappchat .label-text{
  background: rgb(51 51 51);
}

.forzar-estilos p,.forzar-estilos span,.forzar-estilos strong,.forzar-estilos a,.forzar-estilos button,.forzar-estilos select,.forzar-estilos option{ 
  font-family: 'Rubik' !important;
  color: #000 !important;
  font-size: 18px !important;
  background-color: unset !important;
}
.forzar-estilos a{
  color: #c90c0f !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}
.forzar-estilos h1 span,.forzar-estilos h2 span,.forzar-estilos h3 span,.forzar-estilos h4 span,.forzar-estilos h5 span,.forzar-estilos h6 span{
  font-family: 'Balthazar' !important;
  color: #000 !important;
  font-size: 24px !important;
}
.forzar-estilos h1 span{
  font-size: 36px !important;
  color: #c90c0f !important;
}

.comment_anchor{
  display: flex;
  align-content: center;
  align-items: center;
}
.comment_anchor a{
  cursor: unset !important;
}
.comment_anchor span{
  order: 1;
  color: #000;
  font-family: Rubik;
}

.comment_anchor img{
  order: 0;
}
.stars-container > div{
  display: flex !important;
  
}
.stars-container span{
  display: none;
}
.stars-container img{
  width: 80px !important;
}
.produto-sing span{
  display: block !important;
}
.produto-sing img{
  width: 120px !important;
}
.marcas-slider .swiper-slide figcaption{
  color: #000 !important;
}
.marcas-slider .swiper-slide a:hover figcaption{
  color: #C90C0F !important;
}

.btn-custom.btn-primary-prodquestions,.lgcomment_button.btn.btn-primary{
      color: #fff;
    font-family: 'Rubik';
    text-transform: capitalize;
    background: #c90c0f !important;
    border: 1px solid #c90c0f !important;
    border-radius: 100px;
}
.lgcomment_button.btn.btn-primary:hover,.btn-custom.btn-primary-prodquestions:hover{
  background-color: #fff !important;
  color: #c90c0f !important;
}
.lgcomment_button.btn.btn-primary:hover #send_review,.btn-custom.btn-primary-prodquestions:hover b{
  color: #c90c0f !important;
}
#form_review_popup>p{
      display: flex;
    padding: 0;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin: 0;
    padding: 5px;
}
#form_review_popup>p a{
      display: flex;
    align-content: center;
    align-items: center;
    flex-direction: row;
    gap: 5px;
    color: #c90c0f;
}
.fancybox-inner{
      display: flex;
    align-items: center;
}
.nota-papeleria a,.caso-papeleria a{
  color: #c90c0f;
  font-family: 'Rubik';
  font-weight: 700;
  text-decoration: underline;
}
.carousel .carousel-control .icon-next:hover i, .carousel .carousel-control .icon-prev:hover i, .dropdown:hover .expand-more, .page-my-account #content .links a:hover i, .search-widget form button[type=submit] .search:hover, .top-menu .sub-menu a:hover{
  color: #c90c0f !important;
}
.dipecm-btn {
  background-color: #C90C0F;
}
.dipecm-card .price{
  color: #000;
}

.miniatura-precio-iva .dipe-ce-price-final{
  color: #C90C0F !important;
   font-family: Rubik !important;
   font-weight: 700 !important;
   font-size: 14px !important;
}

.miniatura-precio span{
color: #525252 !important;
font-family: Rubik !important;
font-weight:400 !important;
font-size:14px !important;
}
.ce-product-stock--low-stock-level span{
  color: #00752d !important;
}
.ce-product-stock--low-stock-level .fas.fa-circle-exclamation,.poco-stock span,.poco-stock i{
  color: #00752d !important;
}
.sin-stock-actual span,.sin-stock-actual i{
  color: #e08e09 !important;
}

.paso.activo.tercer-paso-informacion {
    grid-template-columns: repeat(1,minmax(0,1fr)) !important;
}
.dipe-ce-price-regular s{
  font-size: 14px !important;
}
.page-product .dipe-ce-price-regular s{
  font-size: 26px !important;
}
@media (max-width: 1250px) and (min-width: 1024px) {
.menu-principal ul > li a{
  font-size: 13px !important;
  padding: 20px 0px !important
  ;
}
}

#idTab999-my-click{
    display: none !important;
}
.plqd table th {
    background: #000000 !important;
    color: #fff;
}

.plqd .table.table-bordered tbody tr:nth-child(odd)  { background: #ffffff; }
.plqd .table.table-bordered tbody tr:nth-child(even) { background: #f6f8fb; }


.plqd .table.table-bordered tbody tr:nth-child(even) > td,
.plqd .table.table-bordered tbody tr:nth-child(even) > th {
  background: #f6f8fb;
}


.plqd .table.table-bordered tbody tr:hover > td {
  background: #eef3ff;
}
.plqd_table_section .plqd_atc{
    background: url(https://ofirivas.servidordepruebas.net/modules/plqd/views/img/anadir-al-carrito.png) no-repeat center !important;
    background-size: 16px !important;
}
.banda-descuento-lista div span{
    background: #38db82;
    padding: 1px 8px;
    width: 66%;
    font-size: 14px;
    font-family: 'Rubik';
    font-weight: 500;
    display: block;
}
