.verCP.invalid.js-validated {
    border-color: red !important;
}

.verCP.valid.js-validated {
    border-color: green !important;
}

/* Opcional: Estilos adicionales */
.verCP.invalid.js-validated {
    border: 1px solid red;
    /* box-shadow: 0 0 5px rgba(255, 0, 0, 0.3); */
}

.verCP.valid.js-validated {
    border: 1px solid green;
    /* box-shadow: 0 0 5px rgba(0, 255, 0, 0.3); */
}

/* ────────────────────────────────
   TEXTO LEGIBLE GENERAL
───────────────────────────────── */
.texto-legible {
    text-align: left;
    line-height: 1.6;
    margin-bottom: 1rem;
}
/* ────────────────────────────────
   LISTAS LEGIBLES
───────────────────────────────── */
.lista-legible {
    padding-left: 25px;          /* Aumentado de 20px a 25px */
    margin-bottom: 20px;         /* Aumentado de 15px a 20px */
}

/* Ítems de lista */
.lista-legible li {
    font-size: 1.05rem;          /* Aumentado de 17px a 1.05rem */
    line-height: 1.8;            /* Aumentado de 1.7 a 1.8 */
    color: #333;                 /* Cambiado de #444 a #333 para mejor contraste */
    margin-bottom: 12px;         /* Aumentado de 8px a 12px */
    letter-spacing: 0.2px;       /* Pequeño espaciado entre letras */
}

/* Listas ordenadas personalizadas */
.lista-legible.ol {
    counter-reset: item;
}

.lista-legible.ol li {
    counter-increment: item;
    list-style: none;
    position: relative;
}

.lista-legible.ol li::before {
    content: counter(item) ".";
    font-weight: bold;
    color: #007bff;
    margin-right: 10px;          /* Aumentado de 8px a 10px */
}

/* Listas no ordenadas personalizadas */
.lista-legible.ul li::before {
    content: "•";
    font-size: 20px;
    color: #007bff;
    font-weight: bold;
    margin-right: 10px;          /* Aumentado de 8px a 10px */
    display: inline-block;
    width: 1em;
}

/* ────────────────────────────────
   TEXTOS LEGALES
───────────────────────────────── */
.textos_legales {
    margin: 2em;
    margin: 0 auto;              /* Centrado horizontal */
}

.textos_legales h1 {
    font-size: 2.2rem;           /* Añadido: tamaño para h1 */
    color: #1a1a1a;              /* Color más oscuro para títulos */
    margin-bottom: 2rem;         /* Espaciado inferior */
    font-weight: 600;            /* Peso de fuente semibold */
    line-height: 1.3;            /* Altura de línea para títulos */
}

.textos_legales h2 {
    font-size: 1.3rem;           /* Aumentado de 1.5rem a 1.8rem */
    color: #1a1a1a;              /* Color más oscuro */
    margin-bottom: 1.5rem;       /* Añadido espaciado inferior */
    margin-top: 2.5rem;          /* Añadido espaciado superior */
    font-weight: 600;            /* Peso de fuente semibold */
    line-height: 1.3;            /* Altura de línea para títulos */
}

.textos_legales h3 {
    font-size: 1.4rem;           /* Añadido: tamaño específico */
    color: #1a1a1a;              /* Color más oscuro */
    padding-bottom: 1rem;        /* Aumentado de 0.5em a 1rem */
    margin-top: 2rem;            /* Añadido espaciado superior */
    font-weight: 600;            /* Peso de fuente semibold */
    line-height: 1.3;            /* Altura de línea para títulos */
}

.textos_legales .seccion {
    padding-bottom: 2.5em;       /* Aumentado de 2em a 2.5em */
    border-bottom: 1px solid #e9ecef; /* Añadido: línea separadora sutil */
    margin-bottom: 2rem;         /* Añadido espaciado inferior */
}

.textos_legales p {
    font-size: 1.1rem;           /* Añadido: tamaño específico */
    line-height: 1.8;            /* Altura de línea mejorada */
    color: #2c2c2c;              /* Color más suave */
    padding-bottom: 1.5em;       /* Aumentado de 1em a 1.5em */
    text-align: justify;         /* Justificado para mejor apariencia */
    letter-spacing: 0.2px;       /* Pequeño espaciado entre letras */
}

.textos_legales ul {
    padding-bottom: 1.5em;       /* Aumentado de 1em a 1.5em */
    padding-left: 2rem;          /* Añadido sangría */
}

.textos_legales ul li {
    font-size: 1.05rem;          /* Tamaño específico para items */
    line-height: 1.8;            /* Altura de línea mejorada */
    color: #2c2c2c;              /* Color consistente */
    margin-bottom: 0.8rem;       /* Espaciado entre items */
    letter-spacing: 0.2px;       /* Espaciado entre letras */
}

/* Tablas dentro de textos legales */
.textos_legales table {
    width: 100%;                 /* Añadido: ancho completo */
    border-collapse: collapse;   /* Añadido: colapso de bordes */
    margin: 2rem 0;              /* Añadido: espaciado vertical */
    background: #f8f9fa;         /* Añadido: fondo sutil */
    border-radius: 8px;          /* Añadido: bordes redondeados */
    overflow: hidden;            /* Para mantener bordes redondeados */
}

.textos_legales table th,
.textos_legales table td {
    border: 1px solid #dee2e6;   /* Color de borde más suave */
    padding: 15px;               /* Aumentado de 5px a 15px */
    vertical-align: top;
    font-size: 1rem;             /* Añadido: tamaño específico */
    line-height: 1.6;            /* Añadido: altura de línea */
}

.textos_legales table th {
    font-weight: 600;            /* Cambiado de bold a 600 */
    background-color: #e9ecef;   /* Añadido: fondo para encabezados */
    color: #1a1a1a;              /* Color más oscuro */
}

.textos_legales table td:first-child {
    font-weight: 500;            /* Añadido: peso para primera columna */
    color: #333;                 /* Color específico */
    width: 180px;                /* Añadido: ancho fijo para consistencia */
}

/* Añadido: Párrafos con énfasis */
.textos_legales p strong {
    color: #1a1a1a;              /* Color más oscuro para texto en negrita */
    font-weight: 600;            /* Peso específico */
}

/* ────────────────────────────────
   OTROS ESTILOS
───────────────────────────────── */
.responsable-text {
    font-size: 0.9rem;           /* Aumentado de 0.8rem a 0.9rem */
    line-height: 1.6;            /* Añadido: altura de línea */
    color: #666;                 /* Añadido: color más suave */
}

#nuestros_productos {
    text-align: center !important;
    padding: 15px;               /* Aumentado de 10px a 15px */
}

/* ────────────────────────────────
   MEJORAS ADICIONALES PARA LEGIBILIDAD
───────────────────────────────── */

/* Espaciado mejorado entre secciones */
.textos_legales > h3:not(:first-child) {
    margin-top: 3rem;            /* Mayor separación entre secciones principales */
}

/* Mejora para dispositivos móviles */
@media (max-width: 768px) {
    .textos_legales {
        margin: 1rem;
        padding: 1rem;
    }
    
    .textos_legales h1 {
        font-size: 1.8rem;
    }
    
    .textos_legales h2 {
        font-size: 1.5rem;
    }
    
    .textos_legales h3 {
        font-size: 1.3rem;
    }
    
    .textos_legales p,
    .texto-legible {
        font-size: 1rem;
    }
    
    .textos_legales table th,
    .textos_legales table td {
        padding: 10px;
        font-size: 0.9rem;
    }
}

/* Añadido: Mejora del foco para accesibilidad */
.textos_legales *:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

/* Añadido: Mejora del foco para accesibilidad */

#heading-breadcrumbs {
    background-color: #ffffff;
    padding: 20px 0;
    margin-bottom: 30px;
    border-bottom: 1px solid #e9ecef;
}

.breadcrumb {
    background: transparent;
    padding: 0;
    margin-bottom: 0;
}

.content {
    padding: 30px;
}

.heading h3, .heading h5 {
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
}


@media (max-width: 767.98px) {
    .content {
        padding: 20px 15px;
    }
    
    .btn-primary {
        margin-top: 10px;
    }

    #heading-breadcrumbs {
        background-color: #ffffff;
        border-bottom: 1px solid #e9ecef;
        margin-top: 130px;
    }
}

  ul.lista-cookies {
  margin: 1em 0;
  padding-left: 1.2em;
}

ul.lista-cookies li {
  margin-bottom: 0.75em;
  line-height: 1.6;
  list-style-type: disc;
  color: #333;
}

ul.lista-cookies li strong {
  color: #222;
}