/* Directorio de categorías. El bloque exterior comparte los estilos de contacto. */
.cl-categories-breadcrumb { margin: 0 0 18px; color: #666; font-size: 14px; }
.cl-categories-breadcrumb a { color: #3a6d91; }
.cl-categories .page-title h1 { font-size: 36px; }
.cl-categories-intro { margin-bottom: 30px; }
.cl-categories-intro p { margin: 0 0 12px; }
.cl-categories-heading { margin: 0 0 22px; font-size: 26px; font-weight: 400; line-height: 1.3; }
.cl-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.cl-category-card { position: relative; min-width: 0; margin: 0; padding: 22px; border: 1px solid #e1e5e8; background: #fafbfc; }
.cl-category-card h3 { margin: 0 0 12px; font-size: 20px; font-weight: 700; line-height: 1.35; overflow-wrap: break-word; }
.cl-category-card h3 a { color: #2f5f83; text-decoration: none; }
.cl-category-card h3 a::after { position: absolute; inset: 0; content: ""; }
.cl-category-card h3 a:hover { text-decoration: underline; }
.cl-category-card h3 a:focus { outline: 2px solid #2e6eab; outline-offset: 4px; }
.cl-category-card:hover, .cl-category-card:focus-within { border-color: #2e6eab; background: #f4f8fb; }
.cl-category-card p { margin: 0; color: #555; font-size: 15px; line-height: 1.65; overflow-wrap: break-word; }
.cl-categories-guide { margin-top: 38px; padding-top: 30px; border-top: 1px solid #e5e5e5; }
.cl-categories-guide p { margin: 0 0 16px; }
.cl-categories-guide p:last-child { margin-bottom: 0; }
.cl-categories-guide ul { margin: 0 0 20px; padding-left: 22px; }
.cl-categories-guide li { margin-bottom: 12px; }
@media (max-width: 991px) {
    .cl-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .cl-categories .page-title h1 { font-size: 30px; }
    .cl-categories-heading { font-size: 24px; }
    .cl-category-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .cl-category-card { padding: 20px; }
    .cl-categories-guide { margin-top: 28px; padding-top: 24px; }
}
